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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x78
push esi
push edi
mov edi, ecx
mov byte [esp + 0x13], 0
mov esi, edx
mov dword [esp + 0x14], edi
mov dword [esp + 0x44], esi
mov dword [esp + 0x2c], 0
mov eax, dword [edi + 8]
mov dword [esp + 0x50], 0
mov dword [esp + 0x3c], eax
call fcn.0045a9e0
mov ecx, dword [esp + 0x44]
xorps xmm0, xmm0
mov esi, dword [esi + 0x14]
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + 0xc]
movlpd qword [esp + 0x58], xmm0
mov edx, dword [esp + 0x5c]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x38], eax
lea eax, [ecx + ecx*2]
mov ecx, dword [ebp + 0x14]
shl eax, 4
add eax, esi
mov dword [esp + 0x1c], 0
mov dword [esp + 0x48], eax
cmp esi, eax
mov ecx, dword [ecx + 0x38]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x28], ecx
jae 0x48c585
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], eax
jmp 0x48c3b5
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
or eax, dword [ecx + 4]
jne 0x48c42a
test byte [esi + 0x14], 2
jne 0x48c42a
mov edx, dword [esi]
lea ecx, [esp + 0x60]
mov dword [esp + 0x78], eax
xorps xmm0, xmm0
mov eax, dword [ebp + 8]
movdqa xmmword [esp + 0x60], xmm0
movq qword [esp + 0x70], xmm0
mov byte [esp + 0x74], 3
mov eax, dword [eax + 0x30]
mov dword [esp + 0x60], 0x45a590
mov dword [esp + 0x64], 0x45a6a0
mov dword [esp + 0x78], eax
call fcn.00456780
cmp byte [esp + 0x74], 0
je 0x48c426
mov edx, dword [esi]
mov ecx, dword [edi]
push 0
push 0
call fcn.00459790
mov edx, dword [esp + 0x34]
mov ecx, dword [edi]
push eax
call fcn.004592c0
add esp, 0xc
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x20]
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x30]
jne 0x48c574
test byte [esi + 0x12], 2
je 0x48c574
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
and ecx, dword [ebp + 0xc]
and eax, dword [ebp + 0x10]
or ecx, eax
jne 0x48c574
mov ecx, dword [esi + 0xc]
test ecx, ecx
js 0x48c574
mov eax, dword [ebp + 8]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 4]
mov al, byte [eax + ecx*8 + 0x15]
mov ecx, dword [esi]
mov byte [esp + 0x12], al
call fcn.00458bd0
movsx eax, al
sub eax, 0x41
je 0x48c4a6
dec eax
je 0x48c494
xor eax, eax
cmp byte [esp + 0x12], 0x43
setge al
jmp 0x48c49e
xor eax, eax
cmp byte [esp + 0x12], 0x42
sete al
test eax, eax
je 0x48c570
mov edx, dword [esi + 0xc]
xor edi, edi
cmp edx, 0x40
jl 0x48c4ba
mov dword [esp + 0x34], 0x80000000
jmp 0x48c4d3
mov eax, edx
xor ecx, ecx
bts edi, eax
cmp eax, 0x20
cmovae ecx, edi
xor edi, ecx
cmp eax, 0x40
cmovae ecx, edi
mov dword [esp + 0x34], ecx
cmp byte [esp + 0x13], 0
jne 0x48c500
lea ecx, [edx + edx*2]
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 4]
push dword [eax + ecx*8]
push dword [edx]
push str.automatic_index_on__s__s_
push 0x11c
call fcn.0042a1d0
add esp, 0x10
mov byte [esp + 0x13], 1
mov eax, dword [esp + 0x34]
mov ecx, edi
mov edx, dword [esp + 0x20]
and eax, edx
and ecx, dword [esp + 0x18]
or ecx, eax
jne 0x48c56a
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
inc eax
push eax
mov ecx, dword [ecx]
mov dword [esp + 0x50], eax
call fcn.0048f9d0
add esp, 4
test eax, eax
jne 0x48ced2
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov eax, dword [eax + 0x30]
mov dword [eax + ecx*4], esi
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
or eax, edi
or edx, dword [esp + 0x34]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], edx
jmp 0x48c578
mov edi, dword [esp + 0x14]
jmp 0x48c574
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
add esi, 0x30
cmp esi, dword [esp + 0x48]
jb 0x48c3b1
mov esi, dword [esp + 0x28]
not eax
mov ecx, dword [esp + 0x1c]
not edx
or edx, 0x80000000
mov word [esi + 0x28], cx
mov word [esi + 0x18], cx
mov dword [esi + 0x24], 0x4241
mov esi, dword [ebp + 8]
and eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x44]
and edx, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x20], edx
mov dword [esp + 0x4c], ecx
movzx edx, word [eax + 0x26]
mov eax, 0x3f
mov dword [esp + 0x40], edx
cmp ax, dx
jl 0x48c5d6
movsx eax, dx
xor esi, esi
mov dword [esp + 0x34], eax
test eax, eax
jle 0x48c61a
mov edi, eax
xor edx, edx
xor ecx, ecx
mov eax, esi
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [esp + 0x18]
and ecx, dword [esp + 0x20]
or edx, ecx
je 0x48c609
inc dword [esp + 0x1c]
inc esi
cmp esi, edi
jl 0x48c5e2
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x40]
and ecx, 0x80000000
xor eax, eax
or eax, ecx
mov ecx, dword [esp + 0x1c]
je 0x48c636
movsx eax, dx
add ecx, 0xffffffc1
add ecx, eax
mov dword [esp + 0x1c], ecx
lea eax, [ecx + 1]
movzx eax, ax
mov dword [esp + 0x30], eax
cwde
lea ecx, [eax*4 + 7]
lea eax, [eax + eax*4]
and ecx, 0xfffffff8
add eax, 9
mov dword [esp + 0x40], ecx
and eax, 0xfffffff8
add ecx, 0x38
add eax, ecx
mov ecx, dword [edi]
cdq
push edx
push eax
mov dword [esp + 0x54], eax
call fcn.00428340
mov esi, eax
add esp, 8
mov dword [esp + 0x24], esi
test esi, esi
je 0x48ced6
push dword [esp + 0x4c]
push 0
push esi
call fcn.004aaf60
mov edi, dword [esp + 0x3c]
lea ecx, [esi + 0x38]
mov dword [esi + 0x20], ecx
add esp, 0xc
add ecx, dword [esp + 0x40]
xorps xmm0, xmm0
movsx edx, di
mov dword [esi + 8], ecx
mov word [esi + 0x30], di
movlpd qword [esp + 0x58], xmm0
lea eax, [edx + 1]
lea eax, [ecx + eax*2]
mov dword [esi + 4], eax
lea eax, [eax + edx*2]
mov dword [esi + 0x1c], eax
lea eax, [edi - 1]
mov word [esi + 0x2e], ax
mov eax, dword [esp + 0x28]
mov dword [eax + 0x1c], esi
mov eax, dword [esp + 0x38]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x44]
mov dword [esi], str.auto_index
xor esi, esi
mov edi, dword [eax + 0x14]
mov dword [esp + 0x30], edi
cmp edi, dword [esp + 0x48]
jae 0x48c847
mov eax, dword [esp + 0x5c]
mov edx, dword [ebp + 8]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x40], eax
mov eax, dword [edi + 8]
cmp eax, dword [edx + 0x30]
jne 0x48c836
test byte [edi + 0x12], 2
je 0x48c836
mov ecx, dword [edi + 0x20]
mov eax, dword [edi + 0x24]
and ecx, dword [ebp + 0xc]
and eax, dword [ebp + 0x10]
or ecx, eax
jne 0x48c836
mov ecx, dword [edi + 0xc]
test ecx, ecx
js 0x48c836
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + 4]
mov al, byte [eax + ecx*8 + 0x15]
mov ecx, dword [edi]
mov byte [esp + 0x13], al
call fcn.00458bd0
movsx eax, al
sub eax, 0x41
je 0x48c776
dec eax
je 0x48c764
xor eax, eax
cmp byte [esp + 0x13], 0x43
setge al
jmp 0x48c76e
xor eax, eax
cmp byte [esp + 0x13], 0x42
sete al
test eax, eax
je 0x48c833
mov ecx, dword [edi + 0xc]
xor edi, edi
cmp ecx, 0x40
jl 0x48c787
mov eax, 0x80000000
jmp 0x48c79a
xor eax, eax
bts edi, ecx
cmp ecx, 0x20
cmovae eax, edi
xor edi, eax
cmp ecx, 0x40
cmovae eax, edi
mov ecx, edi
mov dword [esp + 0x4c], eax
and ecx, dword [esp + 0x40]
and eax, dword [esp + 0x44]
or ecx, eax
jne 0x48c82f
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
or dword [esp + 0x40], edi
mov eax, dword [esp + 0x44]
or eax, dword [esp + 0x4c]
mov edi, dword [esp + 0x30]
mov edx, dword [edx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x44], eax
mov ax, word [edi + 0xc]
mov word [ecx + esi*2], ax
mov eax, dword [edx + 0x10]
mov edx, dword [edx + 0xc]
mov dword [esp + 0x4c], eax
test dword [edx + 4], 0x100
jne 0x48c80e
test eax, eax
je 0x48c7fd
test dword [eax + 4], 0x100
je 0x48c7fd
mov edx, eax
jmp 0x48c80e
mov ecx, dword [esp + 0x14]
call fcn.00458a70
test eax, eax
jne 0x48c820
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x14]
call fcn.00458a70
mov ecx, str.BINARY
test eax, eax
je 0x48c822
mov ecx, dword [eax]
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x20]
mov dword [eax + esi*4], ecx
inc esi
jmp 0x48c833
mov edi, dword [esp + 0x30]
mov edx, dword [ebp + 8]
add edi, 0x30
mov dword [esp + 0x30], edi
cmp edi, dword [esp + 0x48]
jb 0x48c700
xor edi, edi
cmp dword [esp + 0x34], edi
jle 0x48c890
nop
xor edx, edx
xor ecx, ecx
mov eax, edi
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [esp + 0x18]
and ecx, dword [esp + 0x20]
or edx, ecx
je 0x48c889
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 4]
mov word [eax + esi*2], di
mov eax, dword [ecx + 0x20]
mov dword [eax + esi*4], str.BINARY
inc esi
inc edi
cmp edi, dword [esp + 0x34]
jl 0x48c850
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x24]
mov ecx, dword [eax + 0x44]
xor eax, eax
and ecx, 0x80000000
or eax, ecx
je 0x48c8d2
mov edi, dword [esp + 0x38]
mov eax, 0x3f
cmp ax, word [edi + 0x26]
jge 0x48c8d2
mov ecx, eax
mov eax, dword [edx + 4]
mov word [eax + esi*2], cx
inc ecx
mov eax, dword [edx + 0x20]
mov dword [eax + esi*4], str.BINARY
inc esi
movsx eax, word [edi + 0x26]
cmp ecx, eax
jl 0x48c8b7
mov eax, dword [edx + 4]
or ecx, 0xffffffff
mov edi, dword [esp + 0x14]
mov word [eax + esi*2], cx
mov eax, dword [edx + 0x20]
mov ecx, dword [ebp + 0x14]
mov dword [eax + esi*4], str.BINARY
mov eax, dword [edi + 0x44]
mov esi, dword [esp + 0x3c]
mov dword [ecx + 8], eax
inc dword [edi + 0x44]
mov eax, dword [ecx + 8]
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x20]
mov dword [esp + 0x44], eax
mov dword [esp + 0x4c], ecx
cmp dword [ecx + 0x54], eax
jg 0x48c995
mov eax, dword [ecx + 0x54]
test eax, eax
je 0x48c923
add eax, eax
jmp 0x48c928
mov eax, 0x33
mov edx, dword [esi + 4]
lea eax, [eax + eax*4]
mov ecx, dword [ecx]
shl eax, 2
push 0
push eax
call fcn.004283e0
add esp, 8
mov dword [esp + 0x48], eax
test eax, eax
je 0x48c9ca
mov ecx, dword [esp + 0x4c]
mov ecx, dword [ecx]
test ecx, ecx
je 0x48c96d
cmp eax, dword [ecx + 0x114]
jb 0x48c96d
cmp eax, dword [ecx + 0x118]
jae 0x48c96d
movzx ecx, word [ecx + 0xf8]
jmp 0x48c979
push eax
call dword [0x4e6508]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x4c]
shr edx, 4
mov dword [eax + 0x54], edx
mov eax, dword [esp + 0x48]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x44]
inc dword [esi + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x38
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0xc], 0
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x40]
mov dword [ecx + 0x10], 0
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x1c]
inc eax
mov dword [ecx + 8], eax
mov eax, dword [edi + 8]
mov ecx, edi
mov edx, dword [esp + 0x24]
mov dword [esp + 0x4c], eax
call fcn.00468780
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x48], eax
mov esi, dword [edx + 4]
test esi, esi
mov ecx, dword [edx]
mov dword [esp + 0x4c], esi
mov esi, dword [esp + 0x3c]
je 0x48ca41
cmp byte [ecx + 0x41], 0
jne 0x48ca41
mov edx, dword [edx + 0x20]
dec edx
lea eax, [edx + edx*4]
mov edx, dword [esp + 0x4c]
push dword [edx + eax*4 + 0x10]
lea edi, [edx + eax*4]
movsx edx, byte [edi + 1]
call fcn.00446f70
mov eax, dword [esp + 0x4c]
add esp, 4
mov dword [edi + 0x10], 0
test eax, eax
jne 0x48ca34
mov dword [edi + 0x10], eax
mov byte [edi + 1], al
mov edi, dword [esp + 0x14]
jmp 0x48ca4f
mov dword [edi + 0x10], eax
mov byte [edi + 1], 0xfa
mov edi, dword [esp + 0x14]
jmp 0x48ca4f
push eax
mov edx, 0xfffffffa
call fcn.00446f70
add esp, 4
mov ecx, dword [ebp + 0x14]
inc dword [edi + 0x64]
mov edx, dword [esi + 0x20]
mov dword [esp + 0x38], edx
mov eax, dword [ecx + 4]
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
cmp dword [ecx + 0x54], edx
jg 0x48caea
mov eax, dword [ecx + 0x54]
test eax, eax
je 0x48ca7e
add eax, eax
jmp 0x48ca83
mov eax, 0x33
mov edx, dword [esi + 4]
lea eax, [eax + eax*4]
mov ecx, dword [ecx]
shl eax, 2
push 0
push eax
call fcn.004283e0
mov edi, eax
add esp, 8
test edi, edi
je 0x48cb89
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
test eax, eax
je 0x48cac6
cmp edi, dword [eax + 0x114]
jb 0x48cac6
cmp edi, dword [eax + 0x118]
jae 0x48cac6
movzx ecx, word [eax + 0xf8]
jmp 0x48cad2
push edi
call dword [0x4e6508]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x4c]
shr edx, 4
mov dword [eax + 0x54], edx
mov edx, dword [esp + 0x38]
mov dword [esi + 4], edi
mov eax, dword [esi + 4]
lea ecx, [edx + edx*4]
inc dword [esi + 0x20]
mov edx, dword [esp + 0x48]
mov word [eax + ecx*4], 0x6c
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 edi, dword [esp + 0x2c]
test edi, edi
je 0x48cc0c
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x50], ecx
mov edx, dword [ecx + 0x6c]
mov dword [esp + 0x48], edx
lea eax, [edx + 1]
mov dword [ecx + 0x6c], eax
lea eax, [edx - 1]
test edx, eax
jne 0x48cbd9
mov edi, dword [ecx + 0x70]
lea eax, [edx*8 + 4]
mov esi, dword [ecx]
mov edx, edi
push 0
push eax
mov ecx, esi
call fcn.004283e0
mov ecx, eax
add esp, 8
mov dword [esp + 0x4c], ecx
test ecx, ecx
jne 0x48cbc2
test edi, edi
je 0x48cbc2
test esi, esi
je 0x48cbb9
cmp dword [esi + 0x208], eax
je 0x48cb93
mov edx, edi
mov ecx, esi
call fcn.00428080
jmp 0x48cbc2
mov dword [esp + 0x38], 1
jmp 0x48cb1e
cmp edi, dword [esi + 0x114]
jb 0x48cbb9
cmp edi, dword [esi + 0x118]
jae 0x48cbb9
mov eax, dword [esi + 0x110]
mov dword [edi], eax
dec dword [esi + 0xfc]
mov dword [esi + 0x110], edi
jmp 0x48cbc2
push edi
call fcn.00427fe0
add esp, 4
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 0x48]
mov edi, dword [esp + 0x2c]
mov dword [ecx + 0x70], eax
mov eax, dword [ecx + 0x70]
test eax, eax
je 0x48cbe7
mov dword [eax + edx*4], 0xffffffff
mov ecx, dword [esp + 0x14]
or eax, 0xffffffff
sub eax, edx
mov edx, edi
push 0x10
push eax
mov dword [esp + 0x58], eax
call fcn.0045dbc0
mov eax, dword [esp + 0x30]
add esp, 8
or dword [eax + 0x24], 0x20000
mov ecx, dword [esp + 0x14]
mov al, byte [ecx + 0x13]
test al, al
jne 0x48cc1f
inc dword [ecx + 0x48]
mov edi, dword [ecx + 0x48]
jmp 0x48cc2b
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov edi, dword [ecx + eax*4 + 0x18]
mov eax, dword [ebp + 0x14]
mov edx, dword [esp + 0x24]
push 0
push 0
push 0
push 0
push edi
push dword [eax + 4]
call fcn.0046a760
mov eax, dword [ebp + 0x14]
add esp, 0x18
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x4c], ecx
mov eax, dword [eax + 8]
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x20]
mov dword [esp + 0x44], eax
cmp dword [ecx + 0x54], eax
jg 0x48cce4
mov eax, dword [ecx + 0x54]
test eax, eax
je 0x48cc72
add eax, eax
jmp 0x48cc77
mov eax, 0x33
mov edx, dword [esi + 4]
lea eax, [eax + eax*4]
mov ecx, dword [ecx]
shl eax, 2
push 0
push eax
call fcn.004283e0
add esp, 8
mov dword [esp + 0x48], eax
test eax, eax
je 0x48cd14
mov ecx, dword [esp + 0x4c]
mov ecx, dword [ecx]
test ecx, ecx
je 0x48ccbc
cmp eax, dword [ecx + 0x114]
jb 0x48ccbc
cmp eax, dword [ecx + 0x118]
jae 0x48ccbc
movzx ecx, word [ecx + 0xf8]
jmp 0x48ccc8
push eax
call dword [0x4e6508]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x4c]
shr edx, 4
mov dword [eax + 0x54], edx
mov eax, dword [esp + 0x48]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x44]
inc dword [esi + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov edx, dword [esp + 0x40]
mov word [eax + ecx*4], 0x6e
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 ecx, dword [esi + 4]
test ecx, ecx
je 0x48cd26
mov eax, dword [esi + 0x20]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 - 0x11], 0x10
cmp dword [esp + 0x2c], 0
je 0x48cd59
mov edx, dword [esi + 0x18]
or eax, 0xffffffff
sub eax, dword [esp + 0x50]
mov dword [esp + 0x50], eax
js 0x48cd52
mov ecx, dword [edx + 0x70]
test ecx, ecx
je 0x48cd52
mov eax, dword [esi + 0x20]
mov esi, dword [esp + 0x50]
mov dword [ecx + esi*4], eax
mov esi, dword [esp + 0x3c]
mov eax, dword [esi + 0x20]
dec eax
mov dword [edx + 0x58], eax
mov eax, dword [ebp + 0x14]
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x50], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0x20]
mov dword [esp + 0x48], eax
cmp dword [ecx + 0x54], eax
jg 0x48cdf7
mov eax, dword [ecx + 0x54]
test eax, eax
je 0x48cd85
add eax, eax
jmp 0x48cd8a
mov eax, 0x33
mov edx, dword [esi + 4]
lea eax, [eax + eax*4]
mov ecx, dword [ecx]
shl eax, 2
push 0
push eax
call fcn.004283e0
add esp, 8
mov dword [esp + 0x4c], eax
test eax, eax
je 0x48ce2f
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx]
test ecx, ecx
je 0x48cdcf
cmp eax, dword [ecx + 0x114]
jb 0x48cdcf
cmp eax, dword [ecx + 0x118]
jae 0x48cdcf
movzx ecx, word [ecx + 0xf8]
jmp 0x48cddb
push eax
call dword [0x4e6508]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x50]
shr edx, 4
mov dword [eax + 0x54], edx
mov eax, dword [esp + 0x4c]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x48]
inc dword [esi + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov edx, dword [esp + 0x38]
mov word [eax + ecx*4], 9
mov byte [eax + ecx*4 + 3], 0
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x44]
mov dword [ecx + 0xc], 0
mov dword [ecx + 4], eax
lea eax, [edx + 1]
mov dword [ecx + 8], eax
mov dword [ecx + 0x10], 0
jmp 0x48ce33
mov edx, dword [esp + 0x38]
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x48ce45
mov eax, dword [esi + 0x20]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 - 0x11], 3
cmp dword [esi + 0x20], edx
jbe 0x48ce57
mov eax, dword [esi + 4]
lea ecx, [edx + edx*4]
mov edx, dword [esi + 0x20]
mov dword [eax + ecx*4 + 8], edx
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x18]
dec ecx
mov dword [eax + 0x58], ecx
test edi, edi
je 0x48cea6
mov edx, dword [esp + 0x14]
mov al, byte [edx + 0x13]
mov byte [esp + 0x13], al
cmp al, 8
jae 0x48cea2
xor ecx, ecx
lea eax, [edx + 0x74]
lea esp, [esp]
cmp dword [eax + 0xc], edi
je 0x48ce9e
inc ecx
add eax, 0x14
cmp ecx, 0xa
jl 0x48ce80
movzx eax, byte [esp + 0x13]
mov dword [edx + eax*4 + 0x18], edi
mov edi, edx
inc byte [edi + 0x13]
jmp 0x48ceaa
mov byte [eax + 6], 1
mov edi, edx
jmp 0x48ceaa
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.0045be60
mov edx, dword [esi + 0x20]
mov eax, dword [esp + 0x54]
cmp edx, eax
jbe 0x48cec6
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov dword [eax + ecx*4 + 8], edx
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x18]
dec ecx
mov dword [eax + 0x58], ecx
jmp 0x48ced6
mov edi, dword [esp + 0x14]
mov esi, dword [edi]
mov edi, dword [esp + 0x2c]
test edi, edi
je 0x48cfd3
test dword [edi + 4], 0x4000
jne 0x48cf7b
mov edx, dword [edi + 0xc]
mov ecx, esi
call fcn.00459660
mov edx, dword [edi + 0x10]
mov ecx, esi
call fcn.00459660
test dword [edi + 4], 0x10000
je 0x48cf5c
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x48cf5c
test esi, esi
je 0x48cf53
cmp dword [esi + 0x208], 0
je 0x48cf2d
mov edx, ecx
mov ecx, esi
call fcn.00428080
jmp 0x48cf5c
cmp ecx, dword [esi + 0x114]
jb 0x48cf53
cmp ecx, dword [esi + 0x118]
jae 0x48cf53
mov eax, dword [esi + 0x110]
mov dword [ecx], eax
dec dword [esi + 0xfc]
mov dword [esi + 0x110], ecx
jmp 0x48cf5c
push ecx
call fcn.00427fe0
add esp, 4
test dword [edi + 4], 0x800
mov ecx, esi
mov edx, dword [edi + 0x14]
je 0x48cf76
push 1
call fcn.00479610
add esp, 4
jmp 0x48cf7b
call fcn.0045a400
test dword [edi + 4], 0x8000
jne 0x48cfd3
test esi, esi
je 0x48cfca
cmp dword [esi + 0x208], 0
je 0x48cfa0
mov edx, edi
mov ecx, esi
call fcn.00428080
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp edi, dword [esi + 0x114]
jb 0x48cfca
cmp edi, dword [esi + 0x118]
jae 0x48cfca
mov eax, dword [esi + 0x110]
mov dword [edi], eax
dec dword [esi + 0xfc]
mov dword [esi + 0x110], edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push edi
call fcn.00427fe0
add esp, 4
pop edi
pop esi
mov esp, ebp
pop ebp
ret