Function at 0x4b27f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x138
mov eax, dword [0x72400c]
xor eax, esp
mov dword [esp + 0x134], eax
push esi
mov esi, dword [ecx]
lea eax, [ecx + 0x50]
mov dword [esp + 0x78], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x44], ecx
mov eax, dword [esi]
mov dword [esp + 0x58], eax
lea eax, [edx + edx*4]
shl eax, 4
lea edx, [ecx + 0x2f0]
add edx, eax
mov dword [esp + 0x5c], 0
push edi
mov edi, dword [esi + 8]
mov dword [esp + 0x58], esi
mov eax, dword [edx + 0x40]
mov dword [esp + 0x38], eax
movzx eax, byte [edx + 0x2c]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x10], edx
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x48]
shl ecx, 4
mov eax, dword [eax + 4]
add eax, 8
add eax, ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 8], eax
mov eax, dword [eax + 0x30]
mov dword [esp + 0x34], eax
xor eax, eax
cmp dword [ecx + 0x1ec], eax
jle 0x4b28a8
add ecx, 0x1f0
mov edx, dword [esp + 0x34]
cmp dword [ecx], edx
mov edx, dword [esp + 0x10]
je 0x4b2a71
mov edi, dword [esp + 0x48]
inc eax
add ecx, 4
cmp eax, dword [edi + 0x1ec]
mov edi, dword [esp + 0x3c]
jl 0x4b2884
xorps xmm0, xmm0
movlpd qword [esp + 0x80], xmm0
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x80]
not ecx
not eax
and ecx, dword [ebp + 8]
and eax, dword [ebp + 0xc]
mov dword [edx + 0x48], ecx
mov ecx, dword [esp + 0x48]
mov dword [edx + 0x4c], eax
mov eax, dword [ecx + 0x40]
mov edx, dword [ecx + 0x44]
mov ecx, dword [esp + 0x28]
call fcn.00508b50
and eax, 1
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x38]
test byte [eax + 0x24], 0x40
je 0x4b2908
mov eax, dword [esp + 0x48]
mov dword [esp + 0x18], 1
test byte [eax + 0x2c], 0x20
je 0x4b2910
mov dword [esp + 0x18], 0
mov edx, dword [edi + 0xc]
mov dword [esp + 0x20], edx
mov ecx, dword [edx + 0x44]
mov dword [esp + 0x24], ecx
lea eax, [ecx + 1]
mov dword [edx + 0x44], eax
lea eax, [ecx - 1]
test ecx, eax
jne 0x4b2951
mov edx, dword [edx + 0x48]
lea eax, [ecx*8 + 4]
mov ecx, dword [esp + 0x20]
push 0
push eax
mov ecx, dword [ecx]
call fcn.0044ebb0
mov edx, dword [esp + 0x28]
add esp, 8
mov ecx, dword [esp + 0x24]
mov dword [edx + 0x48], eax
mov eax, dword [edx + 0x48]
test eax, eax
je 0x4b295f
mov dword [eax + ecx*4], 0xffffffff
mov edx, dword [esp + 0x10]
not ecx
mov esi, dword [esp + 0x58]
mov dword [esp + 0x24], ecx
mov dword [edx + 0x10], ecx
mov dword [edx + 0xc], ecx
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x14], ecx
mov eax, dword [ecx + 0x44]
mov dword [esp + 0x74], eax
inc eax
mov dword [ecx + 0x44], eax
mov eax, dword [esp + 0x74]
dec eax
test dword [esp + 0x74], eax
jne 0x4b29b6
mov eax, dword [esp + 0x74]
mov edx, dword [ecx + 0x48]
mov ecx, dword [ecx]
push 0
lea eax, [eax*8 + 4]
push eax
call fcn.0044ebb0
mov ecx, dword [esp + 0x1c]
add esp, 8
mov edx, dword [esp + 0x10]
mov dword [ecx + 0x48], eax
mov eax, dword [ecx + 0x48]
test eax, eax
je 0x4b29c8
mov ecx, dword [esp + 0x74]
mov dword [eax + ecx*4], 0xffffffff
cmp byte [edx + 0x2c], 0
mov eax, dword [esp + 0x74]
not eax
mov dword [esp + 0x74], eax
mov dword [edx + 0x18], eax
jbe 0x4b2a04
mov eax, dword [esp + 8]
test byte [eax + 0x24], 8
je 0x4b2a04
mov eax, dword [esi + 0x2c]
mov ecx, edi
inc eax
mov dword [esi + 0x2c], eax
push eax
mov dword [edx], eax
mov edx, 0x38
push 0
call fcn.0046bc70
mov edx, dword [esp + 0x18]
add esp, 8
mov ecx, dword [esp + 0x28]
mov eax, ecx
test ecx, ecx
jle 0x4b2a1d
mov ecx, edx
cmp dword [ecx], 0
jne 0x4b2a1d
dec eax
sub ecx, 0x50
test eax, eax
jg 0x4b2a10
mov ecx, dword [esp + 0x48]
lea eax, [eax + eax*4]
add eax, eax
mov eax, dword [ecx + eax*8 + 0x2fc]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x80], ecx
test cl, 0x10
je 0x4b2ba2
mov esi, dword [eax + 0x1c]
mov edx, dword [eax + 0x18]
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x88]
cmp dword [eax + 0x30], ecx
jg 0x4b2a91
push edx
push 0
push esi
mov edx, 0xf
mov ecx, edi
call fcn.0046bae0
add esp, 0xc
jmp 0x4b2ac3
xor ecx, ecx
xor esi, esi
bts ecx, eax
cmp eax, 0x20
cmovae esi, ecx
xor ecx, esi
mov dword [esp + 0x14], esi
cmp eax, 0x40
mov eax, esi
cmovae eax, ecx
jmp 0x4b28c2
lea eax, [ecx + 1]
mov dword [edi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x58]
mov edi, dword [esp + 0x3c]
mov dword [eax + ecx*4], 0xf
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x88]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x14], ecx
cmp dword [eax + 0x30], ecx
jg 0x4b2aee
push 0
push edx
push esi
mov edx, 0x10
mov ecx, edi
call fcn.0046bae0
add esp, 0xc
jmp 0x4b2b20
lea eax, [ecx + 1]
mov dword [edi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x58]
mov dword [eax + ecx*4], 0x10
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov dword [esi + 0x34], eax
mov byte [esi + 0x2d], 0xd
xor eax, eax
mov esi, eax
neg esi
sbb esi, esi
add esi, 2
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x7c]
nop
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov edx, dword [esi + 0x14]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], eax
test eax, eax
jle 0x4b465e
nop dword [eax]
movzx eax, word [edx + 0xa]
xor esi, esi
mov dword [esp + 0x80], eax
test al, 6
jne 0x4b4642
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x10]
mov ecx, dword [edx + 0x28]
and ecx, dword [eax + 0x48]
mov eax, dword [edx + 0x2c]
and eax, dword [edi + 0x4c]
or ecx, eax
mov edi, dword [esp + 0x3c]
je 0x4b44a9
mov eax, dword [esp + 0x48]
mov byte [eax + 0x32], 1
jmp 0x4b463e
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 0x24]
test eax, 0x400
je 0x4b304b
movzx eax, word [ecx + 0x28]
inc dword [esi + 0x3c]
mov dword [esp + 0xc], eax
lea ecx, [eax + 2]
cmp ecx, 1
jne 0x4b2bef
mov al, byte [esi + 0x13]
test al, al
jne 0x4b2bda
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x1c], eax
jmp 0x4b2c1c
dec al
mov byte [esi + 0x13], al
movzx eax, al
mov eax, dword [esi + eax*4 + 0x15c]
mov dword [esp + 0x1c], eax
jmp 0x4b2c1c
mov eax, dword [esi + 0x20]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x1c], eax
cmp ecx, dword [esi + 0x1c]
jg 0x4b2c09
add eax, ecx
sub dword [esi + 0x1c], ecx
mov dword [esi + 0x20], eax
jmp 0x4b2c1c
mov eax, dword [esi + 0x2c]
lea edi, [eax + 1]
add eax, ecx
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x3c]
mov dword [esi + 0x2c], eax
mov eax, dword [edx + 0xc]
xor ecx, ecx
mov dword [esp + 0x28], eax
mov dword [esp + 8], ecx
cmp dword [esp + 0xc], ecx
jle 0x4b2c8f
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x30]
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x4b2c80
mov eax, dword [esp + 0x1c]
add eax, 2
add eax, ecx
test byte [edx + 0xc], 1
je 0x4b2c6a
push eax
push dword [esp + 0x44]
push ecx
push edi
mov ecx, esi
call fcn.004b1980
mov edx, dword [edi + 0x10]
add esp, 0x10
mov dword [esp + 0x28], edx
jmp 0x4b2c7c
mov edx, dword [edx]
mov ecx, esi
push 1
push eax
mov edx, dword [edx + 0x10]
call fcn.004b2600
add esp, 8
mov ecx, dword [esp + 8]
inc ecx
mov dword [esp + 8], ecx
cmp ecx, dword [esp + 0xc]
jl 0x4b2c33
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov ecx, dword [edi + 0x88]
mov edx, dword [eax + 0x18]
mov eax, dword [edi + 0xc]
cmp dword [eax + 0x30], ecx
jg 0x4b2cbc
push 0
push dword [esp + 0x20]
mov ecx, edi
push edx
mov edx, 0x38
call fcn.0046bae0
add esp, 0xc
jmp 0x4b2cee
lea eax, [ecx + 1]
mov dword [edi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x58]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0x38
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi + 0xc]
mov edx, dword [esp + 0x1c]
mov ecx, dword [edi + 0x88]
inc edx
mov dword [esp + 0x14], edx
cmp dword [eax + 0x30], ecx
jg 0x4b2d1d
push 0
push edx
push dword [esp + 0x14]
mov edx, 0x38
mov ecx, edi
call fcn.0046bae0
add esp, 0xc
jmp 0x4b2d53
mov edx, dword [esp + 0xc]
lea eax, [ecx + 1]
mov dword [edi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x58]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x14]
mov dword [eax + ecx*4], 0x38
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x38]
or ecx, 0xffffffff
mov edx, 0xfffffff9
cmp byte [eax + 0x1c], 0
mov eax, dword [eax + 0x20]
mov dword [esp + 0x18], eax
cmovne ecx, edx
mov eax, dword [edi + 0xc]
mov edx, dword [edi + 0x88]
mov dword [esp + 0x14], ecx
cmp dword [eax + 0x30], edx
jg 0x4b2d9e
push dword [esp + 0x1c]
mov edx, 0xb
mov ecx, edi
push dword [esp + 0x2c]
push dword [esp + 0x3c]
call fcn.0046bae0
add esp, 0xc
mov edx, eax
jmp 0x4b2dd8
mov esi, dword [esp + 0x34]
lea eax, [edx + 1]
mov dword [edi + 0x88], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x58]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x28]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x1c]
mov dword [eax + ecx*4 + 0xc], esi
mov esi, dword [esp + 0x58]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 0x10], 0
push dword [esp + 0x14]
mov ecx, edi
push dword [esp + 0x1c]
call fcn.0046c930
mov eax, dword [esp + 0x40]
add esp, 8
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x48]
mov byte [eax + 0x1c], 0
mov eax, dword [esp + 0x34]
mov dword [ecx + 0x30], eax
mov eax, 0x32
cmp byte [edx + 0x31], 0
mov edx, 0xa6
cmovne eax, edx
mov edx, dword [esp + 0xc]
mov byte [ecx + 0x2d], al
sub edx, 1
mov eax, dword [edi + 0x88]
mov dword [ecx + 0x34], eax
mov dword [esp + 0x24], edx
js 0x4b303f
mov eax, dword [ecx + 0x38]
lea eax, [eax + eax*2]
shl eax, 2
mov dword [esp + 0x18], eax
jmp 0x4b2e44
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + edx*4]
mov dword [esp + 8], eax
cmp edx, 0x10
jge 0x4b2e7f
mov eax, dword [esp + 0x38]
mov cx, dx
mov ax, word [eax + 0x1e]
shr ax, cl
mov ecx, dword [esp + 0x10]
test al, 1
je 0x4b2e7b
mov edx, dword [esp + 8]
call fcn.004b17c0
jmp 0x4b302e
mov eax, dword [esp + 8]
test byte [eax + 0xc], 1
je 0x4b3032
mov eax, dword [esp + 0x5c]
cmp byte [eax + 0x45], 0
jne 0x4b2f4a
mov edx, dword [esp + 0x18]
mov eax, dword [ecx + 0x3c]
sub edx, 0xc
mov dword [esp + 0x18], edx
mov ecx, dword [eax + edx + 4]
test ecx, ecx
jns 0x4b2eb4
mov ecx, dword [edi + 0x88]
dec ecx
mov eax, dword [edi]
cmp byte [eax + 0x45], 0
je 0x4b2ec3
mov eax, 0x729e0c
jmp 0x4b2ecc
mov eax, dword [edi + 0x58]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x64], ecx
mov ecx, dword [eax + 4]
movzx eax, byte [eax]
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x28], ecx
mov ecx, dword [edi + 0x88]
cmp dword [eax + 0x30], ecx
jg 0x4b2f0d
mov ecx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x30]
push ecx
mov ecx, edi
call fcn.0046bae0
add esp, 0xc
jmp 0x4b2f4a
lea eax, [ecx + 1]
mov dword [edi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x58]
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x20]
mov byte [eax], cl
xor ecx, ecx
mov word [eax + 2], cx
mov ecx, dword [esp + 0x28]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x64]
mov dword [eax + 8], ecx
mov ecx, dword [esi]
push 0
push 0x30
call fcn.0044ea10
add esp, 8
mov dword [esp + 0xc], eax
test eax, eax
je 0x4b302e
push 0x30
push 0
push eax
call fcn.004e7b30
mov eax, dword [esp + 0x18]
or ecx, 0xffffffff
add esp, 0xc
mov word [eax + 0x22], cx
mov ecx, eax
mov byte [eax], 0x4e
call fcn.00480c50
mov eax, dword [esi]
mov ecx, dword [eax + 0x6c]
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x18], ecx
jle 0x4b2fa3
push ecx
push str.Expression_tree_is_too_large__maximum_depth__d_
push esi
call fcn.00451630
add esp, 0xc
mov eax, dword [esp + 8]
mov edx, 0x9d
mov ecx, dword [esp + 0xc]
push 0
mov dword [esp + 0x84], 0
mov eax, dword [eax]
mov dword [esp + 0x88], 0
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
lea eax, [esp + 0x84]
mov ecx, dword [esp + 0x60]
push eax
call fcn.00480d60
mov ecx, dword [esp + 0x14]
mov edx, eax
add esp, 8
mov dword [ecx + 0x10], edx
test edx, edx
je 0x4b301c
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
add edi, 2
add eax, edi
mov dword [edx + 0x1c], eax
mov eax, dword [esp + 0x10]
push 0
push dword [eax + 0x18]
push ecx
push esi
call fcn.00486b70
mov edi, dword [esp + 0x4c]
add esp, 0x10
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0xc], 0
mov edx, ecx
mov ecx, dword [esp + 0x5c]
call fcn.004813b0
mov edx, dword [esp + 0x24]
sub edx, 1
mov dword [esp + 0x24], edx
jns 0x4b2e40
mov ecx, esi
call fcn.00484f40
jmp 0x4b2b2b
test al, 5
setne cl
bt eax, 8
setb al
test al, cl
mov eax, dword [esp + 0x38]
je 0x4b30e8
mov eax, dword [eax + 0x30]
mov ecx, esi
mov edx, dword [eax]
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
push eax
push dword [esp + 0x44]
mov dword [esp + 0x1c], eax
push 0
push dword [esp + 0x1c]
call fcn.004b1980
mov edx, dword [esp + 0x24]
add esp, 0x10
mov dword [esp + 8], eax
cmp eax, edx
je 0x4b309e
mov ecx, esi
call fcn.00487790
mov eax, dword [esp + 8]
push eax
mov eax, dword [esp + 0x14]
mov edx, 0x1f
mov ecx, edi
push dword [eax + 0x10]
push dword [esp + 0x3c]
call fcn.0046bb20
mov edx, dword [esp + 0x14]
add esp, 0xc
mov ecx, esi
push 1
call fcn.00484ec0
mov edx, dword [esp + 0x38]
add esp, 4
push dword [esp + 8]
push 0xffffffffffffffff
call fcn.00484db0
mov eax, dword [esp + 0x18]
add esp, 8
mov byte [eax + 0x2d], 0xa6
jmp 0x4b2b2b
mov ecx, dword [eax + 0x24]
mov eax, ecx
and eax, 0x102
cmp eax, 0x102
jne 0x4b337d
xor edx, edx
mov dword [esp + 0x44], 0xa6
mov dword [esp + 0x20], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x50], 0
mov dword [esp + 8], edx
test cl, 0x20
je 0x4b313d
mov eax, dword [esp + 0x38]
mov dword [esp + 0x18], 1
mov eax, dword [eax + 0x30]
mov edx, dword [eax]
mov dword [esp + 8], edx
test cl, 0x10
je 0x4b3156
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + 0x30]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x50], ecx
jmp 0x4b3158
xor ecx, ecx
mov eax, dword [esp + 0x40]
test eax, eax
je 0x4b316a
mov dword [esp + 0x50], edx
mov edx, ecx
mov dword [esp + 8], edx
test edx, edx
je 0x4b3240
mov edx, dword [edx]
mov dword [esp + 0xc], 0x1a18191b
mov dword [esp + 0x18], edx
mov ecx, dword [edx + 0x10]
call fcn.00480690
test eax, eax
je 0x4b31d5
mov al, byte [esi + 0x13]
test al, al
jne 0x4b319b
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
jmp 0x4b31aa
dec al
mov byte [esi + 0x13], al
movzx eax, al
mov eax, dword [esi + eax*4 + 0x15c]
mov edx, dword [edx + 0x10]
mov ecx, esi
push 1
push eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x30], eax
call fcn.004b2600
mov ecx, dword [esp + 0x20]
add esp, 8
movzx eax, byte [ecx]
sub eax, 0x4f
or eax, 1
mov cl, byte [esp + eax + 0xc]
jmp 0x4b320b
mov edx, dword [edx + 0x10]
lea eax, [esp + 0x64]
push eax
mov ecx, esi
call fcn.00486300
mov edx, dword [esp + 0xc]
add esp, 4
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x28], eax
call fcn.004b17c0
mov ecx, dword [esp + 0x18]
movzx eax, byte [ecx]
mov cl, byte [esp + eax - 0x43]
mov eax, dword [esp + 0x64]
mov dword [esp + 8], eax
push dword [esp + 0x28]
mov edx, dword [esp + 0x28]
push edx
push dword [esp + 0x3c]
movzx edx, cl
mov ecx, edi
call fcn.0046bb20
mov edx, dword [esp + 0x34]
add esp, 0xc
mov ecx, esi
push 1
call fcn.00484ec0
mov edx, dword [esp + 0xc]
add esp, 4
call fcn.00487790
jmp 0x4b3260
push dword [esp + 0x14]
xor edx, edx
mov ecx, edi
push dword [esp + 0x38]
test eax, eax
sete dl
lea edx, [edx*4 + 0x21]
call fcn.0046bc70
add esp, 8
mov eax, dword [esp + 0x50]
test eax, eax
je 0x4b32f0
mov eax, dword [eax]
inc dword [esi + 0x2c]
mov ecx, dword [esi + 0x2c]
push 1
mov edx, dword [eax + 0x10]
mov dword [esp + 0x24], ecx
push ecx
mov ecx, esi
mov dword [esp + 0x1c], eax
call fcn.004b2600
mov edx, dword [esp + 0x1c]
add esp, 8
mov eax, dword [edx + 0x10]
mov ecx, eax
mov dword [esp + 0x14], eax
call fcn.00480690
test eax, eax
jne 0x4b32c2
mov al, byte [edx]
cmp al, 0x51
je 0x4b32ac
cmp al, 0x4f
jne 0x4b32c2
xor edx, edx
cmp dword [esp + 0x40], edx
sete dl
lea edx, [edx*2 + 0x50]
mov dword [esp + 0x44], edx
jmp 0x4b32d6
xor eax, eax
cmp dword [esp + 0x40], eax
setne al
lea eax, [eax*2 + 0x4f]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x14]
call fcn.00480690
test eax, eax
jne 0x4b32f0
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x10]
call fcn.004b17c0
cmp dword [esp + 0x40], 0
mov edx, dword [esp + 0x10]
mov ecx, dword [edi + 0x88]
sete al
add al, 6
cmp dword [esp + 0x44], 0xa6
mov byte [edx + 0x2d], al
mov eax, dword [esp + 0x34]
mov dword [edx + 0x30], eax
mov dword [edx + 0x34], ecx
je 0x4b2b2b
inc dword [esi + 0x2c]
mov edx, 0x7b
mov esi, dword [esi + 0x2c]
mov ecx, edi
push esi
push eax
call fcn.0046bc70
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x60]
push esi
push 0xffffffffffffffff
call fcn.00484db0
mov edx, dword [esp + 0x54]
mov ecx, edi
push esi
push dword [esp + 0x38]
push dword [esp + 0x38]
call fcn.0046bb20
mov eax, dword [edi + 0x88]
add esp, 0x1c
test eax, eax
jle 0x4b2b2b
lea ecx, [eax + eax*4]
mov edx, 0x53
mov eax, dword [edi + 0x58]
mov word [eax + ecx*4 - 0x12], dx
jmp 0x4b2b2b
test ecx, 0x200
je 0x4b3bc2
mov eax, dword [esp + 0x38]
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x30], 0
movzx esi, word [eax + 0x18]
mov dword [esp + 0xc], esi
movzx esi, word [eax + 0x1a]
mov dword [esp + 0x14], esi
movzx esi, si
mov dword [esp + 0x50], esi
movzx esi, word [eax + 0x1c]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x60], eax
mov eax, dword [edx + 8]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x20], esi
movzx esi, si
mov dword [esp + 0x44], esi
test byte [eax + 0x2c], 1
mov esi, dword [esp + 0x58]
mov dword [esp + 0x64], 0
mov byte [esp + 0x2f], 0
mov byte [esp + 0x73], 0
je 0x4b3420
cmp byte [eax + 0x2f], 0
mov eax, dword [esp + 0xc]
jle 0x4b3424
mov edx, dword [esp + 0x60]
cmp word [edx + 0x32], ax
mov edx, dword [esp + 0x10]
jbe 0x4b3424
mov byte [esp + 0x2f], 1
mov dword [esp + 0x30], 1
jmp 0x4b3424
mov eax, dword [esp + 0xc]
movzx eax, ax
mov dword [esp + 0x1c], eax
mov dword [esp + 8], eax
test cl, 0x20
je 0x4b3469
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 8]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + edi*4]
inc edi
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 8], edi
mov edi, dword [esp + 0x30]
movzx eax, ax
cmp edi, eax
cmovbe edi, eax
mov eax, edi
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x30], eax
test cl, 0x10
je 0x4b3531
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x20]
movzx eax, ax
cmp ecx, eax
cmovbe ecx, eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x30], ecx
mov ecx, 0x100
test word [eax + 0xa], cx
je 0x4b34f2
mov eax, dword [esi + 0x2c]
mov ecx, edi
inc eax
mov dword [esi + 0x2c], eax
push eax
mov dword [edx + 0x24], eax
mov edx, 0x38
push 1
call fcn.0046bc70
mov edx, dword [esp + 0x18]
xor ecx, ecx
mov eax, dword [edi + 0x88]
add esp, 8
mov edi, dword [esp + 0x1c]
shl dword [edx + 0x24], 1
mov dword [edx + 0x28], eax
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 0x1c]
cmp byte [edi + eax], 1
mov edi, dword [esp + 0x3c]
sete cl
xor ecx, dword [esp + 0x40]
or dword [edx + 0x24], ecx
cmp dword [esp + 0x6c], 0
jne 0x4b3531
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax + 4]
movsx ecx, word [eax + ecx*2]
mov dword [esp + 0x14], ecx
test ecx, ecx
js 0x4b3527
mov eax, dword [esp + 0x60]
add ecx, ecx
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 4]
cmp byte [eax + ecx*8 + 0xc], 0
je 0x4b352c
mov ecx, dword [esp + 0x14]
cmp ecx, 0xfffffffe
jne 0x4b3531
mov byte [esp + 0x2f], 1
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc]
movzx eax, word [eax + 0x32]
mov dword [esp + 0x14], eax
cmp cx, ax
jae 0x4b356b
mov eax, dword [esp + 0x60]
xor ecx, ecx
mov edi, dword [esp + 0x1c]
mov eax, dword [eax + 0x1c]
cmp byte [edi + eax], cl
mov edi, dword [esp + 0x3c]
sete cl
cmp dword [esp + 0x40], ecx
je 0x4b3577
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
cmp dword [esp + 0x40], 0
je 0x4b35ae
cmp ax, cx
jne 0x4b35ae
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov edi, dword [esp + 0x44]
mov dword [esp + 0x6c], eax
mov al, byte [esp + 0x2f]
mov byte [esp + 0x73], al
mov eax, dword [esp + 0x50]
mov dword [esp + 0x68], ecx
movzx ecx, di
mov edi, dword [esp + 0x3c]
movzx eax, al
mov byte [esp + 0x2f], 0
mov dword [esp + 0x50], ecx
mov dword [esp + 0x44], eax
lea eax, [esp + 0x78]
mov ecx, esi
push eax
push dword [esp + 0x34]
push dword [esp + 0x48]
call fcn.004b2010
mov ecx, dword [esp + 0x84]
add esp, 0xc
mov dword [esp + 0x24], eax
test ecx, ecx
je 0x4b35f0
cmp word [esp + 0x44], 0
je 0x4b35f0
mov edx, dword [esp + 0x1c]
lea edx, [edx + ecx]
mov ecx, dword [esp + 0x5c]
call fcn.0044ec70
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x4b3611
test byte [eax + 0xc], 0x28
mov dword [esp + 0x54], 0
je 0x4b3619
mov dword [esp + 0x54], 1
mov ecx, dword [esp + 0x68]
test ecx, ecx
je 0x4b362f
test byte [ecx + 0xc], 0x28
mov dword [esp + 8], 0
je 0x4b3637
mov dword [esp + 8], 1
test eax, eax
jne 0x4b37ca
cmp word [esp + 0xc], ax
ja 0x4b37ca
mov ecx, dword [esp + 0x1c]
mov edx, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], edx
mov al, byte [esp + 0x2f]
test al, al
je 0x4b3695
mov eax, dword [esp + 0x24]
mov edx, 0x3b
add eax, ecx
mov ecx, edi
push eax
push 0
call fcn.0046bc70
mov edx, dword [esp + 0x38]
add esp, 8
mov al, byte [esp + 0x2f]
inc edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x54], 0
mov dword [esp + 0x20], 1
push dword [esp + 0x78]
movzx eax, al
mov ecx, esi
sub edx, eax
push edx
mov edx, dword [esp + 0x2c]
call fcn.004b1840
mov eax, dword [esp + 0x40]
add esp, 8
mov ecx, dword [esp + 0x30]
movzx eax, word [eax + 0x2a]
test ax, ax
je 0x4b36c2
cmp ecx, eax
je 0x4b36f0
mov eax, dword [esp + 0x54]
push ecx
mov ecx, dword [esp + 0x24]
push dword [esp + 0x28]
push dword [esp + 0x30]
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 0x4c]
push dword [esp + 0x58]
movzx edx, byte [ecx + eax*2 + 0x6817d0]
mov ecx, edi
call fcn.0046c020
add esp, 0x10
mov eax, dword [esp + 0x68]
test eax, eax
je 0x4b38ee
mov eax, dword [eax]
mov ecx, esi
push 1
mov eax, dword [eax + 0x10]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x20]
add eax, dword [esp + 0x28]
mov edx, eax
mov dword [esp + 0x24], eax
call fcn.00484ec0
mov eax, dword [esp + 0x48]
add esp, 4
mov edx, dword [esp + 0x54]
movzx eax, ax
push eax
push dword [esp + 0x24]
call fcn.004b2600
push dword [esp + 0x70]
mov edx, dword [esp + 0x1c]
mov ecx, edi
call fcn.004b2430
mov ecx, dword [esp + 0x60]
add esp, 0xc
call fcn.004827b0
test eax, eax
je 0x4b376a
push dword [esp + 0x28]
mov edx, 0x4b
mov ecx, edi
push dword [esp + 0x24]
call fcn.0046bc70
add esp, 8
mov eax, dword [esp + 0x64]
test eax, eax
je 0x4b37a0
mov ecx, dword [esp + 0x54]
push eax
mov eax, dword [esp + 0x48]
movzx edx, ax
call fcn.004b18b0
mov ecx, dword [esp + 0x48]
add esp, 4
mov edx, dword [esp + 0x20]
movzx eax, cx
mov ecx, esi
push dword [esp + 0x64]
push eax
call fcn.004b1840
add esp, 8
mov ecx, dword [esp + 0x44]
movzx eax, cx
add dword [esp + 0x1c], eax
mov eax, dword [esp + 0x54]
mov cl, byte [eax]
cmp cl, 0x9d
jne 0x4b37b9
mov cl, byte [eax + 0x26]
cmp cl, 0x9e
jne 0x4b38c4
mov eax, dword [eax + 0x14]
jmp 0x4b38ce
mov ecx, dword [esp + 0x1c]
mov edx, ecx
mov dword [esp + 0x20], 1
mov dword [esp + 0x30], edx
test eax, eax
je 0x4b3658
mov eax, dword [eax]
mov edx, dword [esp + 0x50]
add ecx, dword [esp + 0x24]
movzx edx, dx
mov eax, dword [eax + 0x10]
push edx
mov dword [esp + 0x18], ecx
mov edx, eax
push ecx
mov ecx, esi
mov dword [esp + 0x14], eax
call fcn.004b2600
push dword [esp + 0x74]
mov edi, dword [esp + 0x48]
mov ecx, edi
mov edx, dword [esp + 0x1c]
call fcn.004b2430
mov ecx, dword [esp + 0x18]
add esp, 0xc
call fcn.004827b0
test eax, eax
je 0x4b3841
push dword [esp + 0x28]
mov edx, 0x4b
mov ecx, edi
push dword [esp + 0x18]
call fcn.0046bc70
add esp, 8
mov ecx, dword [esp + 0x78]
test ecx, ecx
je 0x4b3863
mov eax, dword [esp + 0x1c]
add eax, ecx
mov ecx, dword [esp + 0xc]
push eax
mov eax, dword [esp + 0x54]
movzx edx, ax
call fcn.004b18b0
add esp, 4
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x30]
movzx eax, cx
add edx, eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x30], edx
mov cl, byte [eax]
cmp cl, 0x9d
jne 0x4b3882
mov cl, byte [eax + 0x26]
cmp cl, 0x9e
jne 0x4b388c
mov eax, dword [eax + 0x14]
jmp 0x4b3896
cmp cl, 0x77
jne 0x4b38ac
mov eax, dword [eax + 0x14]
mov eax, dword [eax]
mov eax, dword [eax]
cmp eax, 1
jle 0x4b38ac
mov dword [esp + 0x54], 1
xor al, al
jmp 0x4b3695
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x10]
call fcn.004b17c0
mov edx, dword [esp + 0x30]
xor al, al
jmp 0x4b3695
cmp cl, 0x77
jne 0x4b38df
mov eax, dword [eax + 0x14]
mov eax, dword [eax]
mov eax, dword [eax]
cmp eax, 1
jle 0x4b38df
mov dword [esp + 8], 1
jmp 0x4b391b
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x10]
call fcn.004b17c0
jmp 0x4b391b
cmp byte [esp + 0x73], 0
je 0x4b391b
mov eax, dword [esp + 0x1c]
mov edx, 0x3b
add eax, dword [esp + 0x24]
mov ecx, edi
push eax
push 0
call fcn.0046bc70
add esp, 8
mov dword [esp + 8], 0
inc dword [esp + 0x1c]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x5c]
test ecx, ecx
je 0x4b3974
test edx, edx
je 0x4b3967
cmp dword [edx + 0x1c8], 0
je 0x4b3941
mov edx, ecx
mov ecx, dword [esp + 0x5c]
call fcn.0044e6e0
jmp 0x4b3970
cmp ecx, dword [edx + 0x120]
jb 0x4b3967
cmp ecx, dword [edx + 0x124]
jae 0x4b3967
mov eax, dword [edx + 0x11c]
mov dword [ecx], eax
dec dword [edx + 0x108]
mov dword [edx + 0x11c], ecx
jmp 0x4b3974
push ecx
call fcn.0044e670
add esp, 4
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x64]
test ecx, ecx
je 0x4b39c5
test edx, edx
je 0x4b39bc
cmp dword [edx + 0x1c8], 0
je 0x4b3996
mov edx, ecx
mov ecx, dword [esp + 0x5c]
call fcn.0044e6e0
jmp 0x4b39c5
cmp ecx, dword [edx + 0x120]
jb 0x4b39bc
cmp ecx, dword [edx + 0x124]
jae 0x4b39bc
mov eax, dword [edx + 0x11c]
mov dword [ecx], eax
dec dword [edx + 0x108]
mov dword [edx + 0x11c], ecx
jmp 0x4b39c5
push ecx
call fcn.0044e670
add esp, 4
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + 0x88]
mov dword [ecx + 0x34], eax
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4b3a01
mov ecx, dword [esp + 8]
push eax
push dword [esp + 0x28]
mov eax, dword [esp + 0x48]
push dword [esp + 0x30]
push dword [esp + 0x58]
movzx edx, byte [ecx + eax*2 + 0x67f874]
mov ecx, edi
call fcn.0046c020
add esp, 0x10
cmp dword [esp + 0x18], 0
jne 0x4b3b4b
mov edx, dword [esp + 0x60]
mov ecx, dword [edx + 0xc]
test byte [ecx + 0x24], 0x20
jne 0x4b3a8c
mov ecx, dword [esp + 0x48]
movzx eax, word [ecx + 0x2c]
test eax, 0x400
jne 0x4b3a4a
test eax, 0x1000
je 0x4b3a35
cmp byte [ecx + 0x31], 1
je 0x4b3a4a
push dword [esp + 0x4c]
push dword [esp + 0x38]
call fcn.004b2480
add esp, 8
jmp 0x4b3b4b
inc dword [esi + 0x2c]
mov edx, 0x81
mov esi, dword [esi + 0x2c]
mov ecx, edi
push esi
push dword [esp + 0x50]
call fcn.0046bc70
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x60]
push esi
push 0xffffffffffffffff
call fcn.00484db0
push esi
push 0
push dword [esp + 0x4c]
mov edx, 0x20
mov ecx, edi
call fcn.0046bb20
add esp, 0x1c
jmp 0x4b3b4b
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 0x4c]
je 0x4b3b4b
call fcn.0048bfa0
mov ecx, esi
mov dword [esp + 8], eax
movzx edx, word [eax + 0x32]
call fcn.004877e0
mov dword [esp + 0x28], eax
xor esi, esi
mov eax, dword [esp + 8]
xor ecx, ecx
mov dword [esp + 0x20], esi
cmp cx, word [eax + 0x32]
jae 0x4b3b2b
mov edx, dword [esp + 0x60]
xor ecx, ecx
movzx edx, word [edx + 0x34]
test edx, edx
jle 0x4b3af5
mov eax, dword [eax + 4]
movzx esi, word [eax + esi*2]
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 4]
cmp si, word [eax]
je 0x4b3b7a
inc ecx
add eax, 2
cmp ecx, edx
jl 0x4b3ae0
mov esi, dword [esp + 0x20]
or ecx, 0xffffffff
mov eax, dword [esp + 0x28]
mov edx, 0x60
add eax, esi
push eax
movsx eax, cx
mov ecx, edi
push eax
push dword [esp + 0x54]
call fcn.0046bb20
mov eax, dword [esp + 0x14]
inc esi
add esp, 0xc
mov dword [esp + 0x20], esi
movzx eax, word [eax + 0x32]
cmp esi, eax
mov eax, dword [esp + 8]
jl 0x4b3ac4
movzx eax, word [eax + 0x32]
mov edx, 0x1d
push eax
push dword [esp + 0x2c]
mov ecx, edi
push dword [esp + 0x7c]
push dword [esp + 0x40]
call fcn.0046c020
add esp, 0x10
push dword [esp + 0x48]
mov edx, dword [esp + 0x38]
push dword [esp + 0x50]
mov ecx, dword [esp + 0x68]
call fcn.004b26f0
mov ecx, dword [esp + 0x40]
add esp, 8
mov edx, dword [esp + 0x10]
test dword [ecx + 0x24], 0x1000
je 0x4b3b86
mov byte [edx + 0x2d], 0xa6
jmp 0x4b3b93
mov esi, dword [esp + 0x20]
movzx ecx, cx
jmp 0x4b3af8
cmp dword [esp + 0x40], 0
sete al
add al, 6
mov byte [edx + 0x2d], al
mov eax, dword [esp + 0x4c]
mov dword [edx + 0x30], eax
mov al, byte [ecx + 0x26]
and al, 1
mov byte [edx + 0x2e], al
test byte [ecx + 0x24], 0xf
jne 0x4b3bac
mov byte [edx + 0x2f], 1
cmp dword [esp + 0x18], 0
je 0x4b44a0
xor eax, eax
mov dword [esp + 0x60], eax
jmp 0x4b2b2d
test ecx, 0x2000
je 0x4b4452
mov eax, dword [esi + 0x28]
mov ecx, edi
inc dword [esi + 0x2c]
mov dword [esp + 0x14], eax
inc eax
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x30], 0
mov dword [esp + 0x64], eax
mov dword [esp + 0x44], 0
mov dword [esp + 0x50], 0
call fcn.0046c130
mov dword [esp + 0x20], eax
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x4c], 0
mov ecx, dword [eax + 0x10]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x6c], ecx
mov eax, dword [eax + 0x30]
mov eax, dword [eax]
mov dword [esp + 0x38], eax
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x10]
mov dword [eax + 0x30], edx
mov edx, dword [esp + 0x48]
mov byte [eax + 0x2d], 0x34
mov al, byte [edx + 0x2e]
cmp al, 1
jbe 0x4b3d7e
mov ecx, dword [esp + 0x5c]
movzx eax, al
sub eax, dword [esp + 0x28]
dec eax
mov dword [esp + 0x18], eax
push 0
lea eax, [eax + eax*4]
shl eax, 4
add eax, 0x58
push eax
test ecx, ecx
je 0x4b3c80
call fcn.0044ea10
mov ecx, eax
mov dword [esp + 0x70], ecx
jmp 0x4b3c8b
call fcn.0044e350
mov ecx, eax
mov dword [esp + 0x70], eax
add esp, 8
test ecx, ecx
jne 0x4b3cac
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
pop edi
pop esi
mov ecx, dword [esp + 0x134]
xor ecx, esp
call fcn.004ce564
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x18]
lea eax, [edx + 1]
movzx eax, al
mov dword [ecx + 4], eax
mov dword [ecx], eax
mov eax, dword [esp + 8]
movups xmm0, xmmword [eax]
movups xmmword [ecx + 8], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [ecx + 0x18], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [ecx + 0x28], xmm0
movups xmm0, xmmword [eax + 0x30]
movups xmmword [ecx + 0x38], xmm0
movups xmm0, xmmword [eax + 0x40]
mov eax, dword [esp + 0x48]
movups xmmword [ecx + 0x48], xmm0
mov eax, dword [eax + 4]
cmp edx, 1
jl 0x4b3d48
mov edi, dword [esp + 0x10]
add ecx, 0x58
add edi, 0x7c
mov esi, eax
nop
movzx eax, byte [edi]
lea edi, [edi + 0x50]
lea ecx, [ecx + 0x50]
lea eax, [eax + eax*4]
add eax, eax
movups xmm0, xmmword [esi + eax*8 + 8]
movups xmmword [ecx - 0x50], xmm0
movups xmm0, xmmword [esi + eax*8 + 0x18]
movups xmmword [ecx - 0x40], xmm0
movups xmm0, xmmword [esi + eax*8 + 0x28]
movups xmmword [ecx - 0x30], xmm0
movups xmm0, xmmword [esi + eax*8 + 0x38]
movups xmmword [ecx - 0x20], xmm0
movups xmm0, xmmword [esi + eax*8 + 0x48]
movups xmmword [ecx - 0x10], xmm0
sub edx, 1
jne 0x4b3d00
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x58]
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x48]
test byte [eax + 0x2c], 0x10
jne 0x4b3ddd
test byte [ecx + 0x24], 0x20
jne 0x4b3d87
inc dword [esi + 0x2c]
mov edx, 0x3b
mov eax, dword [esi + 0x2c]
mov ecx, edi
push eax
push 0
mov dword [esp + 0x4c], eax
call fcn.0046bc70
add esp, 8
jmp 0x4b3dd3
mov eax, dword [edx + 4]
mov dword [esp + 0x68], eax
jmp 0x4b3d4c
mov ecx, dword [ecx + 8]
mov dword [esp + 0x18], ecx
test ecx, ecx
je 0x4b3da6
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x4b3da2
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x4b3d92
mov dword [esp + 0x18], ecx
mov edx, dword [esi + 0x28]
mov dword [esp + 0x44], edx
lea eax, [edx + 1]
mov dword [esi + 0x28], eax
movzx eax, word [ecx + 0x32]
mov ecx, edi
push eax
push edx
mov edx, 0x6c
call fcn.0046bc70
mov edx, dword [esp + 0x20]
add esp, 8
mov ecx, esi
call fcn.0046ca00
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x50], eax
push dword [esp + 0x64]
mov edx, 0x38
mov ecx, edi
push 0
call fcn.0046bc70
mov dword [esp + 0x88], eax
add esp, 8
mov eax, dword [esp + 0x7c]
xor edx, edx
mov ecx, dword [eax + 0xc]
cmp ecx, 1
jle 0x4b3f26
mov dword [esp + 0x18], edx
test ecx, ecx
jle 0x4b3f24
mov esi, dword [esp + 0x5c]
xor ecx, ecx
mov dword [esp + 8], ecx
mov eax, dword [eax + 0x14]
add eax, ecx
mov edi, dword [eax]
mov dword [esp + 0x54], edi
cmp eax, dword [esp + 0x38]
je 0x4b3e73
test byte [edi + 4], 1
jne 0x4b3e73
test byte [eax + 0xa], 6
jne 0x4b3e73
mov edi, 0x1fff
test word [eax + 0xc], di
je 0x4b3e73
mov edx, dword [esp + 0x54]
mov ecx, esi
push 0
push 0
call fcn.004815a0
mov edx, dword [esp + 0x54]
mov ecx, esi
push eax
call fcn.004810d0
mov ecx, dword [esp + 0x14]
add esp, 0xc
mov edx, dword [esp + 0x18]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x7c]
inc edx
add ecx, 0x30
mov dword [esp + 0x18], edx
mov dword [esp + 8], ecx
cmp edx, dword [eax + 0xc]
jl 0x4b3e21
mov edx, dword [esp + 0x4c]
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x58]
test edx, edx
je 0x4b3f26
mov ecx, dword [esi]
push 0
push 0x30
call fcn.0044ea10
add esp, 8
mov dword [esp + 8], eax
test eax, eax
je 0x4b3f0d
push 0x30
push 0
push eax
call fcn.004e7b30
mov ecx, dword [esp + 0x14]
or eax, 0xffffffff
add esp, 0xc
mov word [ecx + 0x22], ax
mov eax, dword [esp + 0x4c]
mov dword [ecx + 0x10], eax
mov byte [ecx], 0x47
mov eax, dword [eax + 4]
and eax, 0x200100
or dword [ecx + 4], eax
call fcn.00480c50
mov eax, dword [esi]
mov ecx, dword [eax + 0x6c]
mov eax, dword [esp + 8]
cmp dword [eax + 0x18], ecx
jle 0x4b3f1c
push ecx
push str.Expression_tree_is_too_large__maximum_depth__d_
push esi
call fcn.00451630
mov eax, dword [esp + 0x14]
add esp, 0xc
mov edx, eax
mov dword [esp + 0x4c], edx
jmp 0x4b3f26
mov edx, dword [esp + 0x4c]
mov ecx, dword [esi]
call fcn.004813b0
mov eax, dword [esp + 8]
mov edx, eax
mov dword [esp + 0x4c], edx
jmp 0x4b3f26
xor edx, edx
mov eax, dword [esp + 0x48]
mov ecx, 0x400
mov ax, word [eax + 0x2c]
and ax, cx
mov ecx, dword [esp + 0x78]
or ax, 0x20
movzx eax, ax
mov dword [esp + 0x94], eax
xor eax, eax
mov dword [esp + 0x54], eax
cmp dword [ecx + 0xc], eax
jle 0x4b4307
mov dword [esp + 0x9c], 0x10
mov dword [esp + 0x88], 1
nop dword [eax]
mov edi, dword [esp + 0x34]
lea eax, [eax + eax*2]
shl eax, 4
add eax, dword [ecx + 0x14]
cmp dword [eax + 0x14], edi
mov edi, dword [esp + 0x3c]
je 0x4b3f99
mov edi, 0x400
test word [eax + 0xc], di
mov edi, dword [esp + 0x3c]
je 0x4b42f1
mov eax, dword [eax]
xor ecx, ecx
mov dword [esp + 0x18], ecx
test edx, edx
je 0x4b3fb0
test byte [eax + 4], 1
jne 0x4b3fb0
mov dword [edx + 0xc], eax
mov eax, edx
push dword [esp + 0x14]
mov edx, dword [esp + 0x6c]
mov ecx, esi
push dword [esp + 0x98]
push 0
push 0
push eax
call fcn.004bba00
mov edx, eax
add esp, 0x14
mov dword [esp + 0x8c], edx
test edx, edx
je 0x4b42ed
mov eax, dword [esp + 0x10]
push 0
movzx ecx, byte [eax + 0x2c]
push ecx
push dword [esp + 0x30]
lea ecx, [edx + 0x2f0]
mov edx, dword [esp + 0x74]
push ecx
mov ecx, esi
call fcn.004b14e0
mov eax, dword [esp + 0x58]
add esp, 0x10
test byte [eax + 0x2c], 0x10
jne 0x4b41f8
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x54]
mov eax, dword [eax + 0xc]
dec eax
cmp ecx, eax
mov eax, 0xffffffff
cmove ecx, eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], ecx
test byte [eax + 0x24], 0x20
jne 0x4b406d
push 0
push dword [esp + 0x54]
mov edx, eax
mov ecx, esi
push dword [esp + 0x3c]
push 0xffffffffffffffff
call fcn.00485110
push dword [esp + 0x18]
mov edx, 0x2b
mov ecx, edi
push eax
push 0
push dword [esp + 0x60]
call fcn.0046c020
add esp, 0x20
mov dword [esp + 0x18], eax
jmp 0x4b41f8
mov ecx, eax
call fcn.0048bfa0
mov ecx, esi
mov dword [esp + 0x98], eax
movzx edx, word [eax + 0x32]
mov dword [esp + 0xc], edx
call fcn.004877e0
xor ecx, ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x40], ecx
test edx, edx
je 0x4b40f4
mov edi, eax
nop word [eax + eax]
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x6c]
push 0
push edi
mov eax, dword [eax + 4]
push dword [esp + 0x3c]
movsx eax, word [eax + ecx*2]
mov ecx, esi
push eax
call fcn.00485110
add esp, 0x10
cmp eax, edi
je 0x4b40da
mov ecx, dword [esi + 8]
mov edx, 0x41
push edi
push eax
call fcn.0046bc70
add esp, 8
mov ecx, dword [esp + 0x40]
inc edi
mov edx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0x40], ecx
cmp ecx, edx
jl 0x4b40a0
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x24]
cmp dword [esp + 8], 0
je 0x4b4121
push edx
push eax
push 0
push dword [esp + 0x50]
mov edx, 0x1e
mov ecx, edi
call fcn.0046c020
add esp, 0x10
mov dword [esp + 0x18], eax
cmp dword [esp + 8], 0
jl 0x4b41c6
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x88]
cmp dword [eax + 0x30], ecx
jg 0x4b414e
push dword [esp + 0x50]
mov edx, dword [esp + 0x10]
mov ecx, edi
push edx
mov edx, dword [esp + 0x2c]
push edx
mov edx, 0x63
call fcn.0046bae0
add esp, 0xc
jmp 0x4b4184
mov edx, dword [esp + 0x24]
lea eax, [ecx + 1]
mov dword [edi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x58]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0xc]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x50]
mov dword [eax + ecx*4], 0x63
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
push dword [esp + 0xc]
mov edx, 0x7e
mov ecx, edi
push dword [esp + 0x28]
push dword [esp + 0x58]
push dword [esp + 0x50]
call fcn.0046c020
add esp, 0x10
cmp dword [esp + 8], 0
je 0x4b41c6
mov eax, dword [edi + 0x88]
test eax, eax
jle 0x4b41c6
mov edx, dword [esp + 0x9c]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x58]
mov word [eax + ecx*4 - 0x12], dx
mov eax, dword [esp + 0xc]
mov ecx, esi
mov edx, dword [esp + 0x24]
cmp eax, 1
jne 0x4b41dc
call fcn.00487790
jmp 0x4b41f8
push eax
call fcn.00484ec0
mov eax, dword [esp + 0x10]
add esp, 4
cmp eax, dword [esi + 0x1c]
jle 0x4b41f8
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x24]
mov dword [esi + 0x20], eax
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x88]
cmp dword [eax + 0x30], ecx
jg 0x4b4221
push 0
push dword [esp + 0x24]
mov edx, 0xe
mov ecx, edi
push dword [esp + 0x6c]
call fcn.0046bae0
add esp, 0xc
jmp 0x4b4257
mov edx, dword [esp + 0x64]
lea eax, [ecx + 1]
mov dword [edi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x58]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4], 0xe
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x4b4285
mov edx, dword [edi + 0x88]
jns 0x4b426a
lea ecx, [edx - 1]
mov eax, dword [edi]
cmp byte [eax + 0x45], 0
je 0x4b4279
mov eax, 0x729e0c
jmp 0x4b4282
mov eax, dword [edi + 0x58]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x1c]
cmp byte [edx + 0x32], 0
mov ecx, dword [edx + 0x330]
cmovne eax, dword [esp + 0x88]
mov dword [esp + 0x1c], eax
test dword [ecx + 0x24], 0x200
je 0x4b42de
cmp dword [esp + 0x54], 0
je 0x4b42bf
mov eax, dword [esp + 0x30]
cmp dword [ecx + 0x20], eax
jne 0x4b42de
mov eax, dword [esp + 0x6c]
test byte [eax + 0x24], 0x20
je 0x4b42d5
mov eax, dword [ecx + 0x20]
mov eax, dword [eax + 0x38]
and al, 3
cmp al, 2
je 0x4b42de
mov eax, dword [ecx + 0x20]
mov dword [esp + 0x30], eax
jmp 0x4b42e6
mov dword [esp + 0x30], 0
mov ecx, edx
call fcn.004bc470
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x4c]
inc eax
mov dword [esp + 0x54], eax
cmp eax, dword [ecx + 0xc]
jl 0x4b3f70
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
mov dword [esi + 0x38], eax
test eax, eax
je 0x4b431d
mov eax, dword [esp + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x4b4337
mov ecx, dword [esp + 0x5c]
mov edx, eax
mov dword [eax + 0xc], 0
call fcn.004813b0
mov ecx, dword [esp + 0x80]
mov edx, dword [edi + 0x88]
test ecx, ecx
jns 0x4b434b
lea ecx, [edx - 1]
mov eax, dword [edi]
cmp byte [eax + 0x45], 0
je 0x4b435a
mov eax, 0x729e0c
jmp 0x4b4363
mov eax, dword [edi + 0x58]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 4], edx
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x88]
mov edx, dword [esi + 0xc]
cmp dword [eax + 0x30], ecx
jg 0x4b438d
push 0
push edx
push 0
mov edx, 0xd
mov ecx, edi
call fcn.0046bae0
add esp, 0xc
jmp 0x4b43bf
lea eax, [ecx + 1]
mov dword [edi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x58]
mov dword [eax + ecx*4], 0xd
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x4b43de
mov eax, dword [esp + 0x20]
lea eax, [eax*4 + 4]
sub ecx, eax
mov eax, dword [edi + 0x88]
mov dword [ecx], eax
mov eax, dword [esp + 0x48]
cmp byte [eax + 0x2e], 1
jbe 0x4b4437
mov edx, dword [esp + 0x68]
test edx, edx
je 0x4b4437
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x4b442e
cmp dword [ecx + 0x1c8], 0
je 0x4b4408
call fcn.0044e6e0
jmp 0x4b4437
cmp edx, dword [ecx + 0x120]
jb 0x4b442e
cmp edx, dword [ecx + 0x124]
jae 0x4b442e
mov eax, dword [ecx + 0x11c]
mov dword [edx], eax
dec dword [ecx + 0x108]
mov dword [ecx + 0x11c], edx
jmp 0x4b4437
push edx
call fcn.0044e670
add esp, 4
cmp dword [esp + 0x1c], 0
jne 0x4b2b2b
mov edx, dword [esp + 0x38]
mov ecx, esi
call fcn.004b17c0
jmp 0x4b2b2b
test byte [esp + 0x80], 0x20
je 0x4b4465
mov byte [edx + 0x2d], 0xa6
jmp 0x4b2b2b
mov ecx, dword [esp + 0x40]
push dword [esp + 0x14]
mov al, byte [ecx + 0x680a9c]
mov byte [edx + 0x2d], al
mov eax, dword [esp + 0x38]
mov dword [edx + 0x30], eax
movzx edx, byte [ecx + 0x67eef4]
mov ecx, edi
push eax
call fcn.0046bc70
mov ecx, dword [esp + 0x18]
add esp, 8
inc eax
mov dword [ecx + 0x34], eax
mov byte [ecx + 0x2f], 1
jmp 0x4b2b2b
mov eax, dword [esp + 0x60]
jmp 0x4b2b2d
mov eax, dword [esp + 0x10]
mov ecx, dword [edx]
mov dword [esp + 0x88], ecx
cmp dword [eax], esi
je 0x4b44c4
test byte [ecx + 4], 1
je 0x4b463e
cmp dword [esp + 0x20], 1
jne 0x4b453b
mov eax, dword [eax + 4]
xorps xmm0, xmm0
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x8c]
movaps xmmword [esp + 0xa0], xmm0
movq qword [esp + 0xb0], xmm0
mov dword [esp + 0xa4], 0x487320
mov dword [esp + 0xb8], eax
test ecx, ecx
je 0x4b4523
mov edx, ecx
lea ecx, [esp + 0xa0]
call fcn.0047e1b0
mov edx, dword [esp + 0x18]
cmp byte [esp + 0xb4], 0
je 0x4b4542
mov ecx, 2
mov dword [esp + 0xc], ecx
jmp 0x4b4642
cmp dword [esp + 0x20], 3
jge 0x4b4567
movzx eax, word [edx + 0xa]
test eax, 0x1000
je 0x4b456e
mov ecx, dword [esp + 0xc]
test ecx, ecx
jne 0x4b4642
mov ecx, 3
mov dword [esp + 0xc], ecx
jmp 0x4b4642
mov eax, dword [esp + 0x80]
test eax, 0x200
je 0x4b45f2
mov eax, dword [esp + 0x10]
mov esi, dword [edi + 0x88]
mov edx, dword [eax + 0x24]
mov ecx, edx
mov eax, dword [edi + 0xc]
and edx, 1
shr ecx, 1
add edx, 0x15
mov dword [esp + 0x80], ecx
cmp dword [eax + 0x30], esi
jg 0x4b45b2
push 0
push 0
push ecx
mov ecx, edi
call fcn.0046bae0
add esp, 0xc
mov esi, eax
jmp 0x4b45f2
lea eax, [esi + 1]
mov dword [edi + 0x88], eax
lea ecx, [esi + esi*4]
mov eax, dword [edi + 0x58]
mov byte [eax + ecx*4], dl
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
lea eax, [eax + ecx*4]
xor ecx, ecx
mov dword [eax + 0x10], 0
mov word [eax + 2], cx
mov ecx, dword [esp + 0x80]
mov dword [eax + 4], ecx
mov byte [eax + 1], 0
push 0x10
push dword [esp + 0x78]
push dword [esp + 0x90]
push dword [esp + 0x64]
call fcn.00486b70
add esp, 0x10
test esi, esi
je 0x4b4635
mov edx, dword [edi + 0x88]
jns 0x4b461a
lea esi, [edx - 1]
mov eax, dword [edi]
cmp byte [eax + 0x45], 0
je 0x4b4629
mov eax, 0x729e0c
jmp 0x4b4632
mov eax, dword [edi + 0x58]
lea ecx, [esi + esi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x18]
or word [edx + 0xa], 4
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
add edx, 0x30
dec eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], eax
test eax, eax
jg 0x4b2b60
mov esi, dword [esp + 0x7c]
mov dword [esp + 0x20], ecx
test ecx, ecx
jg 0x4b2b40
mov edx, dword [esi + 0x14]
mov esi, dword [esi + 0xc]
mov dword [esp + 0x28], edx
mov dword [esp + 8], esi
test esi, esi
jle 0x4b47a4
test byte [edx + 0xa], 6
jne 0x4b478c
movzx eax, word [edx + 0xc]
mov edi, 0xb
test al, 0x82
setne cl
bt ax, di
mov edi, dword [esp + 0x58]
setb al
test al, cl
je 0x4b478c
mov ecx, dword [esp + 0x34]
cmp dword [edx + 0x14], ecx
jne 0x4b478c
mov eax, dword [esp + 0x10]
cmp dword [eax], 0
jne 0x4b478c
mov eax, dword [edx]
xor esi, esi
push esi
push 0x83
push dword [edx + 0x1c]
mov edx, dword [esp + 0x88]
push ecx
lea ecx, [esp + 0xe8]
mov dword [esp + 0x98], eax
call fcn.004b6d00
mov edx, eax
add esp, 0x10
test edx, edx
je 0x4b472b
mov ecx, dword [edx + 0x20]
mov eax, dword [edx + 0x24]
and ecx, dword [ebp + 8]
and eax, dword [ebp + 0xc]
or ecx, eax
jne 0x4b4719
mov eax, dword [edx + 0x20]
or eax, dword [edx + 0x24]
jne 0x4b4714
test byte [edx + 0xc], 0x82
jne 0x4b472d
test esi, esi
cmove esi, edx
lea ecx, [esp + 0xd8]
call fcn.004b6a40
mov edx, eax
test edx, edx
jne 0x4b46f6
mov edx, esi
test edx, edx
je 0x4b4784
test byte [edx + 0xa], 4
jne 0x4b4784
mov eax, dword [edx]
push 0x10
push dword [esp + 0x78]
movups xmm0, xmmword [eax]
movups xmmword [esp + 0xa8], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [esp + 0xb8], xmm0
movups xmm0, xmmword [eax + 0x20]
mov eax, dword [esp + 0x90]
movups xmmword [esp + 0xc8], xmm0
mov eax, dword [eax + 0xc]
mov dword [esp + 0xb4], eax
lea eax, [esp + 0xa8]
push eax
push edi
call fcn.00486b70
add esp, 0x10
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 8]
dec esi
add edx, 0x30
mov dword [esp + 8], esi
mov dword [esp + 0x28], edx
test esi, esi
jg 0x4b4680
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x10]
mov edx, dword [esi]
test edx, edx
je 0x4b48b5
mov eax, dword [edi + 0x88]
mov dword [esi + 0x1c], eax
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x88]
cmp dword [eax + 0x30], ecx
jg 0x4b47df
push 0
push edx
push 1
mov edx, 0x38
mov ecx, edi
call fcn.0046bae0
add esp, 0xc
jmp 0x4b4811
lea eax, [ecx + 1]
mov dword [edi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x58]
mov dword [eax + ecx*4], 0x38
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x58]
xor ecx, ecx
mov dword [esp + 0x14], ecx
cmp byte [edx + 0x19], cl
jbe 0x4b4856
lea edi, [edx + 0xa0]
cmp byte [edi - 6], 0
je 0x4b4846
mov al, byte [edx + 0x13]
cmp al, 8
jae 0x4b4846
movzx ecx, al
mov eax, dword [edi]
mov dword [edx + ecx*4 + 0x15c], eax
inc byte [edx + 0x13]
mov ecx, dword [esp + 0x14]
movzx eax, byte [edx + 0x19]
inc ecx
add edi, 0x14
mov dword [esp + 0x14], ecx
cmp ecx, eax
jl 0x4b4826
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x7c]
mov byte [edx + 0x19], 0
mov edi, dword [eax + 0x14]
xor eax, eax
mov dword [esp + 0x18], eax
cmp dword [ecx + 0xc], eax
jle 0x4b48b5
test byte [edi + 0xa], 6
jne 0x4b48a8
mov ecx, dword [edi + 0x28]
mov eax, dword [edi + 0x2c]
and ecx, dword [esi + 0x48]
and eax, dword [esi + 0x4c]
or ecx, eax
jne 0x4b48a0
push 0x10
push dword [esp + 0x78]
push dword [edi]
push edx
call fcn.00486b70
mov edx, dword [esp + 0x68]
add esp, 0x10
or word [edi + 0xa], 4
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x18]
inc eax
add edi, 0x30
mov dword [esp + 0x18], eax
cmp eax, dword [ecx + 0xc]
jl 0x4b4870
mov eax, dword [esi + 0x48]
mov edx, dword [esi + 0x4c]
mov ecx, dword [esp + 0x13c]
pop edi
pop esi
xor ecx, esp
call fcn.004ce564
mov esp, ebp
pop ebp
ret