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

Disassembly:
sub esp, 0x9c
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x54], edi
mov ebx, dword [edi]
lea eax, [edi + 0x148]
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], ebx
mov eax, dword [ebx]
mov dword [esp + 0x6c], eax
lea eax, [edx + edx*4]
mov esi, dword [ebx + 8]
shl eax, 4
add eax, edi
mov dword [esp + 0x80], esi
mov edi, dword [edi + 4]
mov dword [esp + 0x10], eax
mov ebp, dword [eax + 0x320]
lea ecx, [eax + 0x2e0]
movzx eax, byte [eax + 0x30c]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x50], ebp
lea ecx, [eax + eax*4]
shl ecx, 4
add edi, ecx
mov ecx, dword [esp + 0x54]
mov eax, dword [edi + 0x38]
mov edx, dword [ecx + 0x44]
mov dword [esp + 0x2c], eax
xor eax, eax
test edx, edx
jle 0x48ac98
add ecx, 0x48
nop dword [eax]
mov ebx, dword [esp + 0x2c]
cmp dword [ecx], ebx
mov ebx, dword [esp + 0x70]
je 0x48ae3a
inc eax
add ecx, 4
cmp eax, edx
jl 0x48ac80
xorps xmm0, xmm0
movlpd qword [esp + 0x90], xmm0
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x10]
not ecx
and ecx, dword [esp + 0xb0]
not edx
and edx, dword [esp + 0xb4]
mov dword [eax + 0x328], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax + 0x32c], edx
mov eax, dword [ecx + 0x18]
mov edx, dword [ecx + 0x1c]
mov ecx, dword [esp + 0x24]
call fcn.004bf020
and eax, 1
test byte [ebp + 0x24], 0x40
mov dword [esp + 0x30], eax
je 0x48ad09
mov eax, dword [esp + 0x54]
mov dword [esp + 0x88], 1
test byte [eax + 0x22], 0x20
je 0x48ad14
mov dword [esp + 0x88], 0
mov ecx, esi
call fcn.0043d630
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x28], eax
mov dword [ecx + 0x2f0], eax
mov dword [ecx + 0x2ec], eax
mov ecx, esi
call fcn.0043d630
mov ecx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa0], ecx
cmp byte [eax + 0x30c], 0
mov dword [eax + 0x2f8], ecx
jbe 0x48adbb
test byte [edi + 0x2c], 8
je 0x48adbb
mov eax, dword [ebx + 0x48]
mov ecx, dword [esp + 0x60]
inc eax
mov dword [ebx + 0x48], eax
mov dword [esp + 0x40], eax
mov dword [ecx], eax
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x20]
mov dword [esp + 0x14], ecx
cmp dword [eax + 0x54], ecx
jg 0x48ad87
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x48adbb
mov ecx, dword [esp + 0x14]
mov eax, dword [esi + 4]
lea ecx, [ecx + ecx*4]
inc dword [esi + 0x20]
mov edx, dword [esp + 0x40]
mov word [eax + ecx*4], 0x17
mov byte [eax + ecx*4 + 3], 0
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 + 0x30]
mov dword [esp + 0x90], eax
test al, 0x10
je 0x48ae9a
mov eax, dword [esi + 0x18]
mov ebx, dword [edi + 0x24]
mov ebp, dword [edi + 0x20]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x48adee
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x48ae1d
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x11
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], ebp
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
cmp dword [eax + 0x54], edi
jg 0x48ae54
mov ecx, esi
call fcn.0043d1e0
test eax, eax
je 0x48ae54
mov edi, 1
jmp 0x48ae84
xor ecx, ecx
xor edx, edx
bts ecx, eax
cmp eax, 0x20
cmovae edx, ecx
xor ecx, edx
cmp eax, 0x40
cmovae edx, ecx
jmp 0x48acb2
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x20]
mov edx, dword [esp + 0x28]
mov word [eax + ecx*4], 0x14
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], ebx
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 + 0x10]
mov dword [eax + 0x314], edi
mov byte [eax + 0x30d], 0xe
jmp 0x48b140
mov edx, dword [ebp + 0x24]
test edx, 0x400
je 0x48b193
movzx ebp, word [ebp + 0x28]
inc dword [ebx + 0x64]
mov ecx, dword [ebx + 0x38]
mov edx, dword [ebx + 0x3c]
lea edi, [ebp + 2]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x84], edi
cmp edi, ecx
jg 0x48aed5
lea eax, [edi + edx]
sub ecx, edi
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x38], ecx
jmp 0x48aee4
mov eax, dword [ebx + 0x48]
lea edx, [eax + 1]
add eax, edi
mov dword [esp + 0x1c], edx
mov dword [ebx + 0x48], eax
mov eax, dword [esp + 0x10]
xor edi, edi
mov eax, dword [eax + 0x2ec]
mov dword [esp + 0x5c], eax
test ebp, ebp
je 0x48af57
mov esi, dword [esp + 0x50]
lea ecx, [edx + 2]
mov dword [esp + 0x24], ecx
mov eax, dword [esi + 0x30]
mov edx, dword [eax + edi*4]
test edx, edx
je 0x48af4b
test byte [edx + 0x12], 1
lea eax, [edi + ecx]
push eax
mov ecx, ebx
je 0x48af3a
push dword [esp + 0x34]
push edi
push dword [esp + 0x6c]
call fcn.0048a490
mov eax, dword [esp + 0x20]
add esp, 0x10
mov eax, dword [eax + 0x2f0]
mov dword [esp + 0x5c], eax
jmp 0x48af47
mov edx, dword [edx]
mov edx, dword [edx + 0x10]
call fcn.00455710
add esp, 4
mov ecx, dword [esp + 0x24]
inc edi
cmp edi, ebp
jl 0x48af03
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x50]
mov ecx, dword [esi + 0x20]
mov edx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x18]
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x18]
cmp dword [eax + 0x54], ecx
jg 0x48af85
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x48afbc
mov edx, dword [esi + 0x20]
mov ecx, dword [esp + 0x14]
lea eax, [edx + 1]
mov edx, dword [esp + 0x40]
mov dword [esi + 0x20], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x1c]
mov word [eax + ecx*4], 0x17
mov byte [eax + ecx*4 + 3], 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 [esi + 0x18]
mov ecx, dword [esi + 0x20]
mov edx, ecx
mov dword [esp + 0x14], ecx
cmp dword [eax + 0x54], ecx
jg 0x48afdf
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x48b013
mov edx, dword [esi + 0x20]
mov ecx, dword [esp + 0x14]
lea eax, [edx + 1]
mov dword [esi + 0x20], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x17
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], ebp
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x1c]
inc eax
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], eax
mov dword [ecx + 0x10], 0
cmp byte [edi + 0x1c], 0
mov ecx, 0xfffffff5
mov eax, 0xfffffffe
cmovne eax, ecx
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0x20]
mov edi, dword [esi + 0x20]
mov ecx, edi
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x18]
cmp dword [eax + 0x54], edi
jg 0x48b051
mov ecx, esi
call fcn.0043d1e0
test eax, eax
je 0x48b04e
mov edi, 1
jmp 0x48b088
mov ecx, dword [esi + 0x20]
mov edx, dword [esp + 0x2c]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x5c]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x1c]
mov word [eax + ecx*4], 0xc
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
push dword [esp + 0x14]
mov edx, edi
mov ecx, esi
push dword [esp + 0x44]
call fcn.0043db40
mov eax, dword [esp + 0x58]
add esp, 8
xor edi, edi
mov byte [eax + 0x1c], 0
test ebp, ebp
je 0x48b0e0
mov esi, dword [esp + 0x60]
mov ebx, eax
cmp edi, 0x10
jge 0x48b0d5
mov ax, word [ebx + 0x1e]
mov cx, di
shr ax, cl
test al, 1
je 0x48b0d0
mov edx, dword [ebx + 0x30]
mov ecx, esi
mov edx, dword [edx + edi*4]
call fcn.0048a350
inc edi
cmp edi, ebp
jl 0x48b0b0
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x70]
mov ecx, dword [esp + 0x10]
mov edi, 0x9f
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x2c]
mov ebp, dword [esp + 0x1c]
mov dword [ecx + 0x310], eax
mov eax, 0x9a
cmp byte [edx + 0x26], 0
mov edx, ebp
cmovne eax, edi
mov edi, dword [esp + 0x84]
mov byte [ecx + 0x30d], al
mov eax, dword [esi + 0x20]
mov dword [ecx + 0x314], eax
mov ecx, ebx
push edi
call fcn.00453760
add esp, 4
cmp edi, dword [ebx + 0x38]
jle 0x48b135
mov dword [ebx + 0x38], edi
mov dword [ebx + 0x3c], ebp
mov ecx, ebx
call fcn.004537c0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x74]
mov ebp, dword [ecx + 0xc]
mov edi, dword [ecx + 0x14]
test ebp, ebp
jle 0x48cc7e
movzx edx, word [edi + 0x14]
xor ebx, ebx
test dl, 6
jne 0x48cb0a
mov esi, dword [esp + 0x10]
mov ecx, dword [edi + 0x28]
and ecx, dword [eax + 0x328]
mov eax, dword [edi + 0x2c]
and eax, dword [esi + 0x32c]
or ecx, eax
mov esi, dword [esp + 0x80]
je 0x48ca27
mov eax, dword [esp + 0x54]
mov byte [eax + 0x27], 1
jmp 0x48cb0a
test dl, 5
setne cl
bt edx, 8
setb al
test al, cl
je 0x48b2cf
mov eax, dword [ebp + 0x30]
mov ecx, ebx
mov edx, dword [eax]
inc dword [ebx + 0x48]
mov edi, dword [ebx + 0x48]
push edi
push dword [esp + 0x34]
push 0
push dword [esp + 0x6c]
call fcn.0048a490
mov ebp, eax
add esp, 0x10
cmp ebp, edi
je 0x48b1fe
test edi, edi
je 0x48b1fe
mov dl, byte [ebx + 0x13]
cmp dl, 8
jae 0x48b1fe
xor ecx, ecx
lea eax, [ebx + 0x74]
nop
cmp dword [eax + 0xc], edi
je 0x48b1fa
inc ecx
add eax, 0x14
cmp ecx, 0xa
jl 0x48b1e0
movzx eax, dl
mov dword [ebx + eax*4 + 0x18], edi
inc byte [ebx + 0x13]
jmp 0x48b1fe
mov byte [eax + 6], 1
mov eax, dword [esp + 0x10]
mov edi, dword [esi + 0x20]
mov ecx, edi
mov eax, dword [eax + 0x2f0]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x18]
cmp dword [eax + 0x54], edi
jg 0x48b227
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x48b25a
mov ecx, dword [esi + 0x20]
mov edx, dword [esp + 0x24]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x26
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
cmp dword [eax + 0x54], edi
jg 0x48b270
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x48b2a0
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x20]
mov edx, dword [esp + 0x2c]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x24]
mov word [eax + ecx*4], 0x49
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], ebp
mov dword [eax + ecx*4 + 0x10], 0
push 1
mov edx, ebp
mov ecx, ebx
call fcn.00453760
mov edx, dword [esp + 0x30]
add esp, 4
mov ecx, ebx
push ebp
push 0xffffffffffffffff
call fcn.00453600
mov eax, dword [esp + 0x18]
add esp, 8
mov byte [eax + 0x30d], 0x9f
jmp 0x48b140
mov eax, edx
and eax, 0x102
cmp eax, 0x102
jne 0x48b5f0
mov ecx, dword [esp + 0x50]
xor ebp, ebp
xor edi, edi
mov dword [esp + 0x38], 0x9f
mov dword [esp + 0x5c], 0
test dl, 0x20
je 0x48b30d
mov eax, dword [ecx + 0x30]
mov dword [esp + 0x24], 4
mov edi, dword [eax]
jmp 0x48b311
mov dword [esp + 0x24], edi
test dl, 0x10
je 0x48b320
mov eax, dword [ecx + 0x30]
mov ebp, dword [esp + 0x24]
mov ebp, dword [eax + ebp]
mov ecx, dword [esp + 0x30]
mov eax, edi
test ecx, ecx
cmove eax, ebp
cmove ebp, edi
mov dword [esp + 0x40], eax
test ebp, ebp
je 0x48b420
mov edi, dword [ebp]
lea eax, [esp + 0x14]
push eax
mov ecx, ebx
mov dword [esp + 0x20], 0x413f4042
mov edx, dword [edi + 0x10]
call fcn.00455550
mov dword [esp + 0x28], eax
add esp, 4
movzx eax, byte [edi]
mov edi, dword [esi + 0x20]
mov ecx, edi
mov al, byte [esp + eax - 0x34]
mov byte [esp + 0x1b], al
mov eax, dword [esi + 0x18]
cmp dword [eax + 0x54], edi
jg 0x48b381
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x48b3c0
mov ecx, dword [esi + 0x20]
mov dl, byte [esp + 0x1b]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov byte [eax + ecx*4], dl
mov edx, dword [esp + 0x2c]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x28]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x24]
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov byte [eax + ecx*4 + 1], 0
jmp 0x48b3c4
mov edx, dword [esp + 0x24]
push 1
mov ecx, ebx
call fcn.00453760
mov edx, dword [esp + 0x18]
add esp, 4
test edx, edx
je 0x48b413
mov al, byte [ebx + 0x13]
mov byte [esp + 0x1b], al
cmp al, 8
jae 0x48b413
xor ecx, ecx
lea eax, [ebx + 0x74]
cmp dword [eax + 0xc], edx
je 0x48b40f
inc ecx
add eax, 0x14
cmp ecx, 0xa
jl 0x48b3e8
movzx eax, byte [esp + 0x1b]
mov ecx, dword [esp + 0x60]
mov dword [ebx + eax*4 + 0x18], edx
mov edx, ebp
inc byte [ebx + 0x13]
call fcn.0048a350
jmp 0x48b485
mov byte [eax + 6], 1
mov ecx, dword [esp + 0x60]
mov edx, ebp
call fcn.0048a350
jmp 0x48b485
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x48b43b
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x48b485
mov ecx, dword [esi + 0x20]
cmp dword [esp + 0x30], 0
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov edx, 0x6a
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
lea ecx, [eax + ecx*4]
mov eax, 0x6d
cmovne eax, edx
mov byte [ecx + 1], 0
mov byte [ecx], al
mov eax, dword [esp + 0x2c]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x28]
mov dword [ecx + 8], eax
mov ebp, dword [esp + 0x40]
test ebp, ebp
je 0x48b4dc
mov edi, dword [ebp]
mov ecx, ebx
inc dword [ebx + 0x48]
mov eax, dword [ebx + 0x48]
push eax
mov edx, dword [edi + 0x10]
mov dword [esp + 0x60], eax
call fcn.00455710
mov al, byte [edi]
add esp, 4
cmp al, 0x52
je 0x48b4bf
cmp al, 0x50
je 0x48b4bf
mov eax, dword [esp + 0x30]
lea eax, [eax*2 + 0x50]
jmp 0x48b4cd
mov eax, dword [esp + 0x30]
xor eax, 1
lea eax, [eax*2 + 0x51]
mov ecx, dword [esp + 0x60]
mov edx, ebp
mov dword [esp + 0x38], eax
call fcn.0048a350
cmp dword [esp + 0x30], 0
mov edx, dword [esp + 0x10]
mov ecx, dword [esi + 0x20]
sete al
add al, 7
cmp dword [esp + 0x38], 0x9f
mov byte [edx + 0x30d], al
mov eax, edx
mov edx, dword [esp + 0x2c]
mov dword [eax + 0x310], edx
mov dword [eax + 0x314], ecx
je 0x48b140
inc dword [ebx + 0x48]
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
mov ebp, dword [ebx + 0x48]
cmp dword [eax + 0x54], edi
jg 0x48b538
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x48b567
mov ecx, dword [esi + 0x20]
mov edx, dword [esp + 0x2c]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x68
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x2c]
mov ecx, ebx
push ebp
push 0xffffffffffffffff
call fcn.00453600
mov eax, dword [esi + 0x18]
add esp, 8
mov edi, dword [esi + 0x20]
cmp dword [eax + 0x54], edi
jg 0x48b58e
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x48b5c4
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x20]
mov edx, dword [esp + 0x38]
mov byte [eax + ecx*4], dl
mov edx, dword [esp + 0x5c]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x28]
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], ebp
mov dword [eax + ecx*4 + 0x10], 0
mov byte [eax + ecx*4 + 1], 0
mov eax, dword [esi]
mov ecx, dword [esi + 0x20]
cmp byte [eax + 0x41], 0
je 0x48b5dc
mov eax, 0x4dda1b
mov byte [eax], 0x53
jmp 0x48b13c
mov eax, dword [esi + 4]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
add eax, 0xffffffef
mov byte [eax], 0x53
jmp 0x48b13c
test edx, 0x200
je 0x48bfb6
mov esi, dword [esp + 0x10]
xor eax, eax
movzx ecx, word [ebp + 0x18]
mov edi, dword [ebp + 0x1c]
mov dword [esp + 0x9c], ecx
mov esi, dword [esi + 0x2e8]
mov dword [esp + 0x4c], esi
mov esi, dword [esp + 0x54]
mov dword [esp + 0x44], 0
mov dword [esp + 0x38], 0
mov byte [esp + 0x37], al
test byte [esi + 0x22], 1
mov esi, dword [esp + 0x80]
mov byte [esp + 0x58], al
mov byte [esp + 0x1b], al
mov dword [esp + 0x1c], edi
je 0x48b668
mov ebx, dword [esp + 0x54]
cmp byte [ebx + 0x24], al
mov ebx, dword [esp + 0x70]
jle 0x48b668
cmp word [edi + 0x32], cx
jbe 0x48b668
mov byte [esp + 0x58], 1
mov eax, 1
movzx edi, cx
mov ecx, edi
test dl, 0x20
je 0x48b682
mov eax, dword [ebp + 0x30]
mov eax, dword [eax + ecx*4]
inc ecx
mov dword [esp + 0x44], eax
mov eax, 1
mov dword [esp + 0x5c], pe_nt_image_headers32
test dl, 0x10
je 0x48b792
mov eax, dword [ebp + 0x30]
mov edx, dword [esp + 0x5c]
mov ecx, dword [eax + ecx*4]
mov eax, 1
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
test word [ecx + 0x14], dx
je 0x48b752
mov eax, dword [ebx + 0x48]
mov ecx, dword [esp + 0x10]
inc eax
mov dword [ebx + 0x48], eax
mov dword [esp + 0x84], eax
mov dword [ecx + 0x304], eax
xor ecx, ecx
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x1c]
cmp byte [edi + eax], 1
mov eax, dword [esi + 0x18]
sete cl
xor ecx, dword [esp + 0x30]
mov dword [esp + 0x40], ecx
mov ecx, dword [esi + 0x20]
mov edx, ecx
mov dword [esp + 0x14], ecx
cmp dword [eax + 0x54], ecx
jg 0x48b707
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x48b741
mov edx, dword [esi + 0x20]
mov ecx, dword [esp + 0x14]
lea eax, [edx + 1]
mov edx, dword [esp + 0x40]
mov dword [esi + 0x20], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x84]
mov word [eax + ecx*4], 0x17
mov byte [eax + ecx*4 + 3], 0
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 + 0x10]
mov eax, dword [esi + 0x20]
mov dword [ecx + 0x308], eax
mov eax, dword [esp + 0x3c]
cmp dword [esp + 0x44], 0
jne 0x48b792
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 4]
movsx eax, word [eax + edi*2]
test eax, eax
js 0x48b78e
lea ecx, [eax + eax*2]
mov dword [esp + 0x14], 1
mov eax, dword [edx + 0xc]
mov edx, dword [esp + 0x58]
movzx edx, dl
mov eax, dword [eax + 4]
cmp byte [eax + ecx*8 + 0x14], 0
cmove edx, dword [esp + 0x14]
mov dword [esp + 0x58], edx
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x60]
lea ecx, [esp + 0x68]
push ecx
push eax
push dword [esp + 0x38]
mov ecx, ebx
call fcn.0048a7d0
mov dword [esp + 0x54], eax
add esp, 0xc
mov eax, dword [esp + 0x68]
test eax, eax
je 0x48b7bd
mov al, byte [edi + eax]
mov byte [esp + 0x37], al
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x9c]
mov eax, dword [eax + 0x2f0]
mov dword [esp + 0x3c], eax
movzx eax, word [ecx + 0x32]
mov dword [esp + 0x14], eax
cmp dx, ax
jae 0x48b7f8
mov eax, dword [ecx + 0x1c]
xor ecx, ecx
cmp byte [edi + eax], cl
sete cl
cmp dword [esp + 0x30], ecx
je 0x48b804
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x30], 0
je 0x48b825
cmp ax, dx
jne 0x48b825
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x38], ecx
mov ecx, eax
mov al, byte [esp + 0x58]
mov dword [esp + 0x44], ecx
mov byte [esp + 0x1b], al
mov byte [esp + 0x58], 0
jmp 0x48b829
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x48b83b
test byte [ecx + 0x12], 0x28
mov dword [esp + 0x7c], 0
je 0x48b843
mov dword [esp + 0x7c], 1
mov eax, dword [esp + 0x38]
test eax, eax
je 0x48b859
test byte [eax + 0x12], 0x28
mov dword [esp + 0x24], 0
je 0x48b861
mov dword [esp + 0x24], 1
test ecx, ecx
jne 0x48b9bb
test dx, dx
jne 0x48b9bb
mov dword [esp + 0x78], ecx
mov eax, dword [esp + 0x58]
mov ecx, edi
mov dword [esp + 0x64], edi
test al, al
je 0x48b8fb
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x20]
mov edx, ecx
mov dword [esp + 0x14], ecx
cmp dword [eax + 0x54], ecx
jg 0x48b8a7
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x48b8e0
mov edx, dword [esi + 0x20]
mov ecx, dword [esp + 0x14]
lea eax, [edx + 1]
mov dword [esi + 0x20], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x1a
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x48]
add eax, edi
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], eax
mov dword [ecx + 0x10], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 1
mov eax, dword [esp + 0x58]
lea ecx, [edi + 1]
mov dword [esp + 0x64], ecx
push dword [esp + 0x68]
mov edx, dword [esp + 0x4c]
movzx eax, al
sub ecx, eax
push ecx
mov ecx, ebx
call fcn.0048a3d0
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x84]
push eax
mov eax, dword [esp + 0x84]
push dword [esp + 0x54]
push dword [esp + 0x4c]
lea eax, [ecx + eax*2]
mov ecx, dword [esp + 0x44]
push dword [esp + 0x60]
movzx edx, byte [ecx + eax*2 + 0x4ccdb8]
mov ecx, esi
call fcn.0043d580
mov eax, dword [esp + 0x50]
add esp, 0x18
test eax, eax
je 0x48bbf4
mov eax, dword [eax]
mov ecx, ebx
mov edx, dword [esp + 0x48]
push 1
mov eax, dword [eax + 0x10]
lea edx, [edi + edx]
mov dword [esp + 0x2c], eax
call fcn.00453760
mov eax, dword [esp + 0x4c]
add esp, 4
mov edx, dword [esp + 0x28]
add eax, edi
mov ecx, ebx
push eax
call fcn.00455710
mov eax, dword [esp + 0x3c]
add esp, 4
mov ecx, dword [esp + 0x5c]
test word [eax + 0x14], cx
je 0x48bb1b
mov eax, dword [esi + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [esi]
shl ecx, 2
cmp byte [eax + 0x41], 0
je 0x48bb01
mov ecx, 0x4dda24
mov edx, 0x4dda1b
jmp 0x48bb0c
mov dword [esp + 0x78], 1
test ecx, ecx
je 0x48b876
mov eax, dword [ecx]
mov ecx, dword [esp + 0x48]
add ecx, edi
push ecx
mov eax, dword [eax + 0x10]
mov ecx, ebx
mov edx, eax
mov dword [esp + 0x68], eax
call fcn.00455710
mov eax, dword [esp + 0x48]
add esp, 4
mov ecx, dword [esp + 0x5c]
test word [eax + 0x14], cx
je 0x48ba2c
mov eax, dword [esi + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [esi]
shl ecx, 2
cmp byte [eax + 0x41], 0
je 0x48ba12
mov ecx, 0x4dda24
mov edx, 0x4dda1b
jmp 0x48ba1d
mov eax, dword [esi + 4]
add eax, ecx
lea ecx, [eax - 8]
lea edx, [eax - 0x11]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x304]
mov dword [ecx], eax
mov byte [edx], 1
mov ecx, dword [esp + 0x64]
call fcn.00451820
test eax, eax
je 0x48ba95
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x20]
mov edx, ecx
mov dword [esp + 0x14], ecx
cmp dword [eax + 0x54], ecx
jg 0x48ba5c
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x48ba95
mov edx, dword [esi + 0x20]
mov ecx, dword [esp + 0x14]
lea eax, [edx + 1]
mov edx, dword [esp + 0x48]
mov dword [esi + 0x20], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 4]
add edx, edi
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x3c]
mov word [eax + ecx*4], 0x4c
mov byte [eax + ecx*4 + 3], 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 [esp + 0x68]
test eax, eax
je 0x48b8f0
mov ecx, dword [esp + 0x64]
add eax, edi
mov dword [esp + 0x28], eax
mov al, byte [eax]
mov byte [esp + 0x23], al
call fcn.0044fab0
mov cl, byte [esp + 0x23]
test al, al
je 0x48baee
test cl, cl
je 0x48baf2
cmp al, 0x43
jge 0x48bacb
cmp cl, 0x43
jl 0x48baf8
mov eax, dword [esp + 0x28]
mov dl, byte [eax]
mov ecx, dword [esp + 0x64]
call fcn.004518d0
test eax, eax
je 0x48b8f0
mov eax, dword [esp + 0x28]
mov byte [eax], 0x41
jmp 0x48b8f0
test cl, cl
je 0x48baf8
add al, cl
cmp al, 0x41
jne 0x48bacb
mov eax, dword [esp + 0x28]
mov byte [eax], 0x41
jmp 0x48bacf
mov eax, dword [esi + 4]
add eax, ecx
lea ecx, [eax - 8]
lea edx, [eax - 0x11]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x304]
mov dword [ecx], eax
mov byte [edx], 1
mov ecx, dword [esp + 0x28]
call fcn.00451820
test eax, eax
je 0x48bb88
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x20]
mov edx, ecx
mov dword [esp + 0x14], ecx
cmp dword [eax + 0x54], ecx
jg 0x48bb4b
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x48bb88
mov edx, dword [esi + 0x20]
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x50]
lea eax, [edx + 1]
mov edx, dword [esp + 0x48]
lea ecx, [ecx + ecx*4]
mov dword [esi + 0x20], eax
add edx, edi
mov eax, dword [esi + 4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x3c]
mov word [eax + ecx*4], 0x4c
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov al, byte [esp + 0x37]
mov ecx, dword [esp + 0x28]
mov byte [esp + 0x23], al
call fcn.0044fab0
mov cl, byte [esp + 0x23]
test al, al
je 0x48bbb3
test cl, cl
je 0x48bbbb
cmp al, 0x43
jge 0x48bbc5
cmp cl, 0x43
jge 0x48bbc5
jmp 0x48bc5f
test cl, cl
je 0x48bc5f
add al, cl
cmp al, 0x41
je 0x48bc5f
mov dl, byte [esp + 0x37]
mov ecx, dword [esp + 0x28]
call fcn.004518d0
test eax, eax
jne 0x48bc5f
mov edx, dword [esp + 0x48]
lea eax, [esp + 0x37]
push eax
push 1
mov ecx, ebx
lea edx, [edi + edx]
call fcn.0048a3d0
add esp, 8
jmp 0x48bc5f
cmp byte [esp + 0x1b], 0
je 0x48bc60
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x20]
mov edx, ecx
mov dword [esp + 0x14], ecx
cmp dword [eax + 0x54], ecx
jg 0x48bc1e
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x48bc57
mov edx, dword [esi + 0x20]
mov ecx, dword [esp + 0x14]
lea eax, [edx + 1]
mov dword [esi + 0x20], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x1a
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x48]
add eax, edi
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], eax
mov dword [ecx + 0x10], 0
mov dword [esp + 0x24], 0
inc edi
mov ecx, dword [esp + 0x68]
test ecx, ecx
je 0x48bcb5
mov edx, dword [esp + 0x6c]
test edx, edx
je 0x48bcac
cmp dword [edx + 0x208], 0
je 0x48bc86
mov edx, ecx
mov ecx, dword [esp + 0x6c]
call fcn.0041f520
jmp 0x48bcb5
cmp ecx, dword [edx + 0x114]
jb 0x48bcac
cmp ecx, dword [edx + 0x118]
jae 0x48bcac
mov eax, dword [edx + 0x110]
mov dword [ecx], eax
dec dword [edx + 0xfc]
mov dword [edx + 0x110], ecx
jmp 0x48bcb5
push ecx
call fcn.0041f4b0
add esp, 4
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 0x20]
mov dword [ecx + 0x314], eax
test edi, edi
je 0x48bced
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
push edi
push dword [esp + 0x4c]
push dword [esp + 0x44]
movzx edx, byte [eax + ecx*2 + 0x4cce44]
mov ecx, esi
push dword [esp + 0x58]
call fcn.0043d580
add esp, 0x10
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x60]
call fcn.0048a350
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x60]
call fcn.0048a350
cmp dword [esp + 0x88], 0
jne 0x48bf59
mov eax, dword [esp + 0x1c]
mov edi, dword [eax + 0xc]
test byte [edi + 0x2a], 0x20
jne 0x48be41
inc dword [ebx + 0x48]
mov eax, dword [ebx + 0x48]
mov edi, dword [esi + 0x20]
mov ecx, edi
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0x18]
cmp dword [eax + 0x54], edi
jg 0x48bd4b
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x48bd82
mov ecx, dword [esi + 0x20]
mov edx, dword [esp + 0x4c]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x3c]
mov word [eax + ecx*4], 0x71
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push dword [esp + 0x3c]
mov edx, dword [esp + 0x30]
mov ecx, ebx
push 0xffffffffffffffff
call fcn.00453600
mov ecx, dword [esp + 0x5c]
add esp, 8
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
cmp byte [ecx + 0x26], 0
mov eax, dword [eax + 0x54]
je 0x48bdf5
cmp eax, edi
jg 0x48bdbc
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x48bf59
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x20]
mov edx, dword [esp + 0x2c]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x3c]
mov word [eax + ecx*4], 0x49
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x48bf59
cmp eax, edi
jg 0x48be08
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x48bf59
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x20]
mov edx, dword [esp + 0x2c]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x3c]
mov word [eax + ecx*4], 0x43
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x48bf59
mov ecx, dword [esp + 0x4c]
cmp dword [esp + 0x2c], ecx
je 0x48bf5d
mov edi, dword [edi + 8]
test edi, edi
je 0x48be66
mov eax, dword [edi + 0x38]
and al, 3
cmp al, 2
je 0x48be66
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x48be56
movzx ecx, word [edi + 0x32]
mov edx, dword [ebx + 0x38]
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x24], eax
cmp ecx, edx
jg 0x48be84
add eax, ecx
sub edx, ecx
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x38], edx
jmp 0x48be93
mov eax, dword [ebx + 0x48]
lea edx, [eax + 1]
add eax, ecx
mov dword [esp + 0x24], edx
mov dword [ebx + 0x48], eax
movzx eax, word [edi + 0x32]
xor edx, edx
xor ebp, ebp
mov ecx, eax
cmp dx, ax
jae 0x48bf33
mov eax, dword [esp + 0x1c]
xor ecx, ecx
movzx edx, word [eax + 0x34]
test edx, edx
je 0x48bed3
mov eax, dword [edi + 4]
movzx ebx, word [eax + ebp*2]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 4]
cmp bx, word [eax]
je 0x48bf73
inc ecx
add eax, 2
cmp ecx, edx
jl 0x48bec2
or eax, 0xffffffff
mov ebx, dword [esi + 0x20]
cwde
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x18]
cmp dword [eax + 0x54], ebx
jg 0x48bef1
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x48bf26
mov eax, dword [esi + 4]
lea ecx, [ebx + ebx*4]
inc dword [esi + 0x20]
mov word [eax + ecx*4], 0x2f
mov byte [eax + ecx*4 + 3], 0
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x4c]
mov dword [ecx + 0x10], 0
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x14]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x24]
add eax, ebp
mov dword [ecx + 0xc], eax
movzx ecx, word [edi + 0x32]
inc ebp
cmp ebp, ecx
jl 0x48bea6
movzx eax, cx
mov edx, 0x45
push eax
push dword [esp + 0x28]
mov ecx, esi
push dword [esp + 0xa8]
push dword [esp + 0x38]
call fcn.0043d580
mov ebp, dword [esp + 0x60]
add esp, 0x10
mov ecx, dword [esp + 0x4c]
test dword [ebp + 0x24], 0x1000
mov edx, dword [esp + 0x10]
je 0x48bf7b
mov byte [edx + 0x30d], 0x9f
jmp 0x48bf8b
movzx eax, cx
jmp 0x48bed6
cmp dword [esp + 0x30], 0
sete al
add al, 7
mov byte [edx + 0x30d], al
mov dword [edx + 0x310], ecx
mov al, byte [ebp + 0x26]
and al, 1
mov byte [edx + 0x30e], al
test byte [ebp + 0x24], 0xf
jne 0x48b13c
mov eax, dword [esp + 0x10]
mov byte [eax + 0x30f], 1
jmp 0x48b140
test edx, 0x2000
je 0x48c97f
mov eax, dword [ebx + 0x44]
mov ecx, esi
inc dword [ebx + 0x48]
mov dword [esp + 0x84], eax
inc eax
mov dword [ebx + 0x44], eax
mov eax, dword [ebx + 0x48]
mov dword [esp + 0x48], 0
mov dword [esp + 0x7c], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x3c], 0
call fcn.0043d630
mov ecx, dword [edi + 0x18]
xor edx, edx
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x30]
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x7c]
mov eax, dword [eax]
mov dword [esp + 0x64], eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x38], ecx
mov eax, dword [eax + 0xc]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x10]
mov byte [eax + 0x30d], 0x10
mov dword [eax + 0x310], edx
mov al, byte [ebp + 0x29]
cmp al, 1
jbe 0x48c18d
mov ecx, dword [esp + 0x6c]
movzx eax, al
sub eax, dword [esp + 0x24]
dec eax
mov dword [esp + 0x40], eax
lea edx, [eax + eax*4]
shl edx, 4
add edx, 0x58
call fcn.0041f7a0
mov ecx, eax
mov dword [esp + 0x30], ecx
test ecx, ecx
jne 0x48c087
mov eax, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov edx, dword [esp + 0x40]
mov al, dl
inc al
movzx eax, al
mov dword [ecx + 4], eax
mov dword [ecx], eax
movups xmm0, xmmword [edi + 8]
movups xmmword [ecx + 8], xmm0
movups xmm0, xmmword [edi + 0x18]
movups xmmword [ecx + 0x18], xmm0
movups xmm0, xmmword [edi + 0x28]
movups xmmword [ecx + 0x28], xmm0
movups xmm0, xmmword [edi + 0x38]
movups xmmword [ecx + 0x38], xmm0
movups xmm0, xmmword [edi + 0x48]
movups xmmword [ecx + 0x48], xmm0
mov ebp, dword [ebp + 4]
add ebp, 8
cmp edx, 1
jl 0x48c114
mov edi, dword [esp + 0x10]
add edi, 0x35c
add ecx, 0x58
movzx eax, byte [edi]
lea edi, [edi + 0x50]
lea ecx, [ecx + 0x50]
lea eax, [eax + eax*4]
shl eax, 4
add eax, ebp
movups xmm0, xmmword [eax]
movups xmmword [ecx - 0x50], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [ecx - 0x40], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [ecx - 0x30], xmm0
movups xmm0, xmmword [eax + 0x30]
movups xmmword [ecx - 0x20], xmm0
movups xmm0, xmmword [eax + 0x40]
movups xmmword [ecx - 0x10], xmm0
sub edx, 1
jne 0x48c0d7
mov ebp, dword [esp + 0x54]
mov ecx, dword [esp + 0x38]
test byte [ebp + 0x22], 8
jne 0x48c289
test byte [ecx + 0x2a], 0x20
jne 0x48c196
inc dword [ebx + 0x48]
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
mov ebp, dword [ebx + 0x48]
mov dword [esp + 0x1c], ebp
cmp dword [eax + 0x54], edi
jg 0x48c155
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x48c27f
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x1a
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x48c27f
mov eax, dword [ebp + 4]
mov dword [esp + 0x30], eax
jmp 0x48c11c
mov edi, dword [ecx + 8]
test edi, edi
je 0x48c1b0
nop dword [eax]
mov eax, dword [edi + 0x38]
and al, 3
cmp al, 2
je 0x48c1b0
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x48c1a0
mov eax, dword [ebx + 0x44]
mov dword [esp + 0x1c], eax
inc eax
mov dword [ebx + 0x44], eax
movzx eax, word [edi + 0x32]
mov ebp, dword [esi + 0x20]
mov ecx, ebp
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x18]
cmp dword [eax + 0x54], ebp
jg 0x48c1de
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x48c21b
mov ecx, dword [esi + 0x20]
mov edx, dword [esp + 0x1c]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [ebp*4]
mov eax, dword [esi + 4]
add ecx, ebp
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x40]
mov word [eax + ecx*4], 0x39
mov byte [eax + ecx*4 + 3], 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 [ebx + 8]
mov edx, edi
mov ecx, ebx
mov dword [esp + 0x40], eax
call fcn.00462e40
mov ebp, eax
mov eax, dword [esp + 0x40]
mov edi, dword [eax + 4]
mov ecx, dword [eax]
test edi, edi
je 0x48c271
cmp byte [ecx + 0x41], 0
jne 0x48c271
mov edx, dword [eax + 0x20]
dec edx
lea eax, [edx + edx*4]
movsx edx, byte [edi + eax*4 + 1]
push dword [edi + eax*4 + 0x10]
lea edi, [edi + eax*4]
call fcn.0043d920
add esp, 4
test ebp, ebp
jne 0x48c268
mov dword [edi + 0x10], ebp
mov byte [edi + 1], 0
jmp 0x48c27f
mov dword [edi + 0x10], ebp
mov byte [edi + 1], 0xfa
jmp 0x48c27f
push ebp
mov edx, 0xfffffffa
call fcn.0043d920
add esp, 4
inc dword [ebx + 0x48]
mov eax, dword [ebx + 0x48]
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
mov dword [esp + 0x40], edi
cmp dword [eax + 0x54], edi
jg 0x48c2b2
mov ecx, esi
call fcn.0043d1e0
test eax, eax
je 0x48c2af
mov dword [esp + 0x40], 1
jmp 0x48c2e9
mov ecx, dword [esi + 0x20]
mov edx, dword [esp + 0x7c]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x17
mov byte [eax + ecx*4 + 3], 0
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 [esp + 0x74]
cmp dword [eax + 0xc], 1
jle 0x48c3de
mov esi, dword [esp + 0x6c]
xor ebp, ebp
mov ecx, dword [esp + 0x64]
xor edi, edi
xor ebx, ebx
mov eax, dword [eax + 0x14]
add eax, edi
cmp eax, ecx
je 0x48c34d
mov edx, dword [eax]
test byte [edx + 4], 1
jne 0x48c34d
test byte [eax + 0x14], 2
jne 0x48c34d
mov ebx, 0x1fff
test word [eax + 0x12], bx
mov ebx, dword [esp + 0x44]
je 0x48c34d
push 0
push 0
mov ecx, esi
call fcn.00450aa0
push eax
mov edx, ebx
mov ecx, esi
call fcn.00450340
mov ecx, dword [esp + 0x70]
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x44], ebx
mov eax, dword [esp + 0x74]
inc ebp
add edi, 0x30
cmp ebp, dword [eax + 0xc]
jl 0x48c305
mov esi, dword [esp + 0x80]
test ebx, ebx
mov ebx, dword [esp + 0x70]
je 0x48c3e2
mov ecx, dword [ebx]
mov edx, 0x48
push 1
push 0
call fcn.00450020
mov ebp, dword [ebx]
mov edi, eax
add esp, 8
test edi, edi
jne 0x48c3a4
xor edx, edx
mov ecx, ebp
call fcn.00450900
mov edx, dword [esp + 0x44]
mov ecx, ebp
call fcn.00450900
mov ecx, edi
mov dword [esp + 0x44], ecx
jmp 0x48c3e6
mov edx, dword [esp + 0x44]
mov ecx, edi
mov dword [edi + 0x10], edx
mov eax, dword [edx + 4]
and eax, 0x200100
or dword [edi + 4], eax
call fcn.0044ff60
mov eax, dword [ebx]
mov eax, dword [eax + 0x64]
cmp dword [edi + 0x18], eax
jle 0x48c3d6
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00422040
add esp, 0xc
mov ecx, edi
mov dword [esp + 0x44], ecx
jmp 0x48c3e6
xor ecx, ecx
jmp 0x48c3e6
mov ecx, dword [esp + 0x44]
mov ebp, dword [esp + 0x4c]
xor edi, edi
mov edx, 0xf0
mov dword [esp + 0x50], edi
mov dword [esp + 0x58], edx
cmp dword [ebp + 0xc], edi
jle 0x48c82f
lea eax, [edi + edi*2]
shl eax, 4
add eax, dword [ebp + 0x14]
mov ebp, dword [esp + 0x2c]
cmp dword [eax + 8], ebp
je 0x48c423
mov ebp, 0x400
test word [eax + 0x12], bp
je 0x48c817
mov eax, dword [eax]
xor ebp, ebp
mov dword [esp + 0x5c], ebp
test ecx, ecx
je 0x48c43a
test byte [eax + 4], 1
jne 0x48c43a
mov dword [ecx + 0xc], eax
mov eax, ecx
push dword [esp + 0x84]
mov ecx, ebx
push edx
mov edx, dword [esp + 0x38]
push 0
push 0
push eax
call fcn.00493e00
mov edx, eax
add esp, 0x14
mov dword [esp + 0x90], edx
test edx, edx
je 0x48c813
mov eax, dword [esp + 0x10]
push 0
movzx ecx, byte [eax + 0x30c]
push ecx
push dword [esp + 0x2c]
lea ecx, [edx + 0x2e0]
mov edx, dword [esp + 0x3c]
push ecx
mov ecx, ebx
call fcn.00489fe0
mov eax, dword [esp + 0x64]
add esp, 0x10
test byte [eax + 0x22], 8
jne 0x48c71c
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0xc]
dec eax
cmp dword [esp + 0x50], eax
mov eax, 0xffffffff
cmove edi, eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x9c], edi
test byte [eax + 0x2a], 0x20
jne 0x48c4f3
push 0
push dword [esp + 0x40]
mov edx, eax
mov ecx, ebx
push dword [esp + 0x34]
push 0xffffffffffffffff
call fcn.00453960
push edi
push eax
push 0
push dword [esp + 0x38]
mov edx, 0x83
mov ecx, esi
call fcn.0043d580
add esp, 0x20
mov ebp, eax
jmp 0x48c71c
mov ecx, eax
call fcn.0045c5d0
mov ecx, dword [ebx + 0x38]
mov ebp, eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x88], ebp
mov dword [esp + 0x28], eax
movzx edx, word [ebp + 0x32]
mov dword [esp + 0x68], edx
cmp edx, ecx
jg 0x48c525
add eax, edx
sub ecx, edx
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x38], ecx
jmp 0x48c534
mov eax, dword [ebx + 0x48]
lea ecx, [eax + 1]
add eax, edx
mov dword [esp + 0x28], ecx
mov dword [ebx + 0x48], eax
xor ecx, ecx
mov dword [esp + 0xa4], ecx
test edx, edx
je 0x48c5f7
mov edi, dword [esp + 0x28]
nop dword [eax]
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x38]
push 0
push edi
movsx eax, word [eax + ecx*2]
mov ecx, ebx
push dword [esp + 0x34]
push eax
call fcn.00453960
add esp, 0x10
mov dword [esp + 0x8c], eax
cmp eax, edi
je 0x48c5d4
mov ecx, dword [esi + 0x18]
mov ebp, dword [esi + 0x20]
mov eax, ebp
cmp dword [ecx + 0x54], ebp
jg 0x48c593
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x48c5cd
mov eax, dword [esi + 0x20]
mov edx, dword [esp + 0x8c]
lea ecx, [ebp*4]
inc eax
add ecx, ebp
mov dword [esi + 0x20], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x20
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebp, dword [esp + 0x88]
mov ecx, dword [esp + 0xa4]
inc edi
mov edx, dword [esp + 0x68]
inc ecx
mov dword [esp + 0xa4], ecx
cmp ecx, edx
jl 0x48c550
mov edi, dword [esp + 0x9c]
mov ebp, dword [esp + 0x28]
test edi, edi
je 0x48c61c
push edx
push ebp
push 0
push dword [esp + 0x28]
mov edx, 0x46
mov ecx, esi
call fcn.0043d580
add esp, 0x10
mov dword [esp + 0x5c], eax
test edi, edi
js 0x48c6f8
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x48c63d
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x48c672
mov ecx, dword [esi + 0x20]
mov edx, dword [esp + 0x3c]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov dword [eax + ecx*4 + 4], ebp
mov ebp, dword [esp + 0x68]
mov word [eax + ecx*4], 0x31
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x48c676
mov ebp, dword [esp + 0x68]
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x48c691
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x48c6c8
mov ecx, dword [esi + 0x20]
mov edx, dword [esp + 0x1c]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x3c]
mov word [eax + ecx*4], 0x6f
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
cmp dword [esp + 0x9c], 0
je 0x48c6fc
mov eax, dword [esi]
mov ecx, dword [esi + 0x20]
cmp byte [eax + 0x41], 0
je 0x48c6e7
mov eax, 0x4dda1b
mov byte [eax], 0x10
jmp 0x48c6fc
mov eax, dword [esi + 4]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
add eax, 0xffffffef
mov byte [eax], 0x10
jmp 0x48c6fc
mov ebp, dword [esp + 0x68]
mov edi, dword [esp + 0x28]
mov ecx, ebx
push ebp
mov edx, edi
call fcn.00453760
add esp, 4
cmp ebp, dword [ebx + 0x38]
jle 0x48c718
mov dword [ebx + 0x38], ebp
mov dword [ebx + 0x3c], edi
mov ebp, dword [esp + 0x5c]
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x48c737
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x48c76e
mov ecx, dword [esi + 0x20]
mov edx, dword [esp + 0x7c]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x14]
mov word [eax + ecx*4], 0xf
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
test ebp, ebp
je 0x48c7a2
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x20]
dec ecx
mov dword [eax + 0x58], ecx
mov eax, dword [esi]
mov edx, dword [esi + 0x20]
cmp byte [eax + 0x41], 0
je 0x48c78e
mov eax, 0x4dda18
jmp 0x48c79f
test ebp, ebp
lea eax, [edx - 1]
cmovns eax, ebp
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x90]
mov ecx, 1
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0x50]
cmp byte [edx + 0x27], 0
cmovne eax, ecx
mov ecx, dword [edx + 0x320]
mov dword [esp + 0x78], eax
test dword [ecx + 0x24], 0x200
je 0x48c804
test edi, edi
je 0x48c7dd
mov eax, dword [esp + 0x48]
cmp dword [ecx + 0x1c], eax
jne 0x48c804
mov eax, dword [esp + 0x38]
test byte [eax + 0x2a], 0x20
je 0x48c7f3
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax + 0x38]
and al, 3
cmp al, 2
je 0x48c804
mov ebp, dword [ecx + 0x1c]
or dword [esp + 0x58], 0x1000
mov dword [esp + 0x48], ebp
jmp 0x48c80c
mov dword [esp + 0x48], 0
mov ecx, edx
call fcn.00494930
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x4c]
inc edi
mov ecx, dword [esp + 0x44]
mov ebp, eax
mov dword [esp + 0x50], edi
cmp edi, dword [eax + 0xc]
jl 0x48c402
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x48]
mov dword [ebx + 0x318], eax
test eax, eax
je 0x48c84e
mov eax, dword [esp + 0x84]
mov dword [ebx + 0x2e8], eax
mov edx, dword [esp + 0x44]
mov ebp, dword [esp + 0x6c]
test edx, edx
je 0x48c868
mov ecx, ebp
mov dword [edx + 0xc], 0
call fcn.00450900
mov eax, dword [esi]
mov edx, dword [esi + 0x20]
cmp byte [eax + 0x41], 0
je 0x48c87a
mov eax, 0x4dda18
jmp 0x48c88f
mov ecx, dword [esp + 0x40]
lea eax, [edx - 1]
test ecx, ecx
cmovns eax, ecx
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
lea eax, [eax + ecx*4]
mov dword [eax + 4], edx
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
mov ebx, dword [ebx + 0x2ec]
cmp dword [eax + 0x54], edi
jg 0x48c8b3
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x48c8e6
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0xe
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esi + 0x18]
mov ecx, dword [edx + 0x70]
test ecx, ecx
je 0x48c902
mov eax, dword [esp + 0x14]
lea eax, [eax*4 + 4]
sub ecx, eax
mov eax, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 0x20]
dec eax
mov dword [edx + 0x58], eax
mov eax, dword [esp + 0x54]
cmp byte [eax + 0x29], 1
jbe 0x48c962
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x48c962
test ebp, ebp
je 0x48c959
cmp dword [ebp + 0x208], 0
je 0x48c933
mov edx, ecx
mov ecx, ebp
call fcn.0041f520
jmp 0x48c962
cmp ecx, dword [ebp + 0x114]
jb 0x48c959
cmp ecx, dword [ebp + 0x118]
jae 0x48c959
mov eax, dword [ebp + 0x110]
mov dword [ecx], eax
dec dword [ebp + 0xfc]
mov dword [ebp + 0x110], ecx
jmp 0x48c962
push ecx
call fcn.0041f4b0
add esp, 4
cmp dword [esp + 0x78], 0
jne 0x48b13c
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
call fcn.0048a350
jmp 0x48b13c
test byte [esp + 0x90], 0x20
je 0x48c999
mov eax, dword [esp + 0x10]
mov byte [eax + 0x30d], 0x9f
jmp 0x48b140
mov ecx, dword [esp + 0x30]
mov ebp, dword [esp + 0x10]
mov al, byte [ecx + 0x4cb558]
mov bl, byte [ecx + 0x4c970c]
mov byte [ebp + 0x30d], al
mov eax, dword [esp + 0x2c]
mov dword [ebp + 0x310], eax
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
cmp dword [eax + 0x54], edi
jg 0x48c9da
mov ecx, esi
call fcn.0043d1e0
test eax, eax
je 0x48c9da
mov edi, 1
jmp 0x48ca10
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x20]
mov edx, dword [esp + 0x2c]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x28]
mov byte [eax + ecx*4], bl
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [eax + ecx*4 + 1], 0
lea eax, [edi + 1]
mov dword [ebp + 0x314], eax
mov eax, ebp
mov byte [eax + 0x30f], 1
jmp 0x48b140
mov ecx, dword [esp + 0x60]
mov eax, dword [edi]
mov dword [esp + 0x8c], eax
cmp dword [ecx], ebx
je 0x48ca42
test byte [eax + 4], 1
je 0x48cb0a
test edx, 0x200
je 0x48caba
mov eax, dword [esp + 0x10]
mov ebx, dword [esi + 0x20]
mov eax, dword [eax + 0x304]
mov dword [esp + 0x90], eax
mov eax, dword [esi + 0x18]
cmp dword [eax + 0x54], ebx
jg 0x48ca7c
mov ecx, esi
call fcn.0043d1e0
test eax, eax
je 0x48ca7c
mov ebx, 1
jmp 0x48cab3
mov eax, dword [esi + 4]
lea ecx, [ebx + ebx*4]
inc dword [esi + 0x20]
mov edx, dword [esp + 0x90]
mov word [eax + ecx*4], 0x2e
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x70]
mov edx, eax
push 0x10
push dword [esp + 0xa4]
call fcn.00456060
add esp, 8
test ebx, ebx
je 0x48cb05
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x20]
dec ecx
mov dword [eax + 0x58], ecx
mov eax, dword [esi]
mov edx, dword [esi + 0x20]
cmp byte [eax + 0x41], 0
je 0x48caf1
mov eax, 0x4dda18
jmp 0x48cb02
test ebx, ebx
lea eax, [edx - 1]
cmovns eax, ebx
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
or word [edi + 0x14], 4
mov eax, dword [esp + 0x10]
dec ebp
add edi, 0x30
test ebp, ebp
jg 0x48b152
mov eax, dword [esp + 0x74]
mov ebp, dword [eax + 0xc]
mov edi, dword [eax + 0x14]
test ebp, ebp
jle 0x48cc7e
mov esi, dword [esp + 0x70]
lea ebx, [edi + 0x12]
mov edx, 0xb
nop dword [eax + eax]
test byte [ebx + 2], 6
jne 0x48cc6b
movzx eax, word [ebx]
test al, 0x82
setne cl
bt ax, dx
setb al
test al, cl
je 0x48cc6b
mov ecx, dword [esp + 0x2c]
cmp dword [ebx - 0xa], ecx
jne 0x48cc6b
mov eax, dword [esp + 0x60]
cmp dword [eax], 0
jne 0x48cc6b
mov eax, dword [ebx - 0x12]
mov edx, ecx
mov ecx, dword [esp + 0x74]
push 0
push 0x83
push dword [esp + 0xbc]
mov dword [esp + 0x98], eax
push dword [esp + 0xbc]
push dword [ebx - 6]
call fcn.0048f350
add esp, 0x14
mov dword [esp + 0x90], eax
test eax, eax
je 0x48cc66
test byte [eax + 0x14], 4
jne 0x48cc66
mov ecx, dword [esp + 0x6c]
mov edx, 0x30
call fcn.0041f7a0
mov edi, eax
test edi, edi
je 0x48cc66
mov ecx, dword [esp + 0x90]
mov edx, edi
mov eax, dword [esp + 0x8c]
push 0x10
push dword [esp + 0xa4]
mov ecx, dword [ecx]
movups xmm0, xmmword [ecx]
movups xmmword [edi], xmm0
movups xmm0, xmmword [ecx + 0x10]
movups xmmword [edi + 0x10], xmm0
movups xmm0, xmmword [ecx + 0x20]
mov ecx, esi
movups xmmword [edi + 0x20], xmm0
mov eax, dword [eax + 0xc]
mov dword [edi + 0xc], eax
call fcn.00456060
mov ecx, dword [esp + 0x74]
add esp, 8
test ecx, ecx
je 0x48cc5d
cmp dword [ecx + 0x208], 0
je 0x48cc37
mov edx, edi
call fcn.0041f520
jmp 0x48cc66
cmp edi, dword [ecx + 0x114]
jb 0x48cc5d
cmp edi, dword [ecx + 0x118]
jae 0x48cc5d
mov eax, dword [ecx + 0x110]
mov dword [edi], eax
dec dword [ecx + 0xfc]
mov dword [ecx + 0x110], edi
jmp 0x48cc66
push edi
call fcn.0041f4b0
add esp, 4
mov edx, 0xb
dec ebp
add ebx, 0x30
test ebp, ebp
jg 0x48cb40
mov esi, dword [esp + 0x80]
mov eax, dword [esp + 0x60]
mov ebp, dword [esp + 0x10]
mov ebx, dword [eax]
test ebx, ebx
je 0x48cd3b
mov eax, dword [esi + 0x20]
mov dword [ebp + 0x2fc], eax
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
cmp dword [eax + 0x54], edi
jg 0x48ccaf
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x48ccdf
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x20]
mov word [eax + ecx*4], 0x17
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [esp + 0x70]
mov ecx, ebx
call fcn.00453ab0
mov edx, dword [esp + 0x74]
xor edi, edi
mov esi, dword [edx + 0x14]
cmp dword [edx + 0xc], edi
jle 0x48cd3b
test byte [esi + 0x14], 6
jne 0x48cd32
mov ecx, dword [esi + 0x28]
mov eax, dword [esi + 0x2c]
and ecx, dword [ebp + 0x328]
and eax, dword [ebp + 0x32c]
or ecx, eax
jne 0x48cd32
mov edx, dword [esi]
mov ecx, ebx
push 0x10
push dword [esp + 0xa4]
call fcn.00456060
mov edx, dword [esp + 0x7c]
add esp, 8
or word [esi + 0x14], 4
inc edi
add esi, 0x30
cmp edi, dword [edx + 0xc]
jl 0x48ccf8
mov eax, dword [ebp + 0x328]
mov edx, dword [ebp + 0x32c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret