Function at 0x48b1b4
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffff48
mov esi, edx
mov ebx, eax
mov edx, esi
mov eax, ebx
call fcn.0048c170
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x208]
mov dword [esi + 0x10c], eax
mov eax, dword [esi + 0x10c]
shl eax, 2
lea eax, [eax + eax*8]
call fcn.0040271c
mov dword [esi + 0x110], eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x20c]
mov dword [esp + 0x1c], eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x210]
mov dword [esp + 0x20], eax
xor eax, eax
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x10c]
dec eax
mov dword [esp + 0x18], eax
xor eax, eax
mov dword [esi + 0x10c], eax
mov eax, ebx
call fcn.004997c4
mov dword [esp + 0x34], eax
mov dword [esi + 0xf0], 0xffffffff
mov dword [esi + 0xf4], 0xffffffff
mov dword [esi + 0xf8], 0xffffffff
mov eax, dword [esi + 0x20]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x28]
mov dword [esp + 0x28], eax
cmp dword [esp + 0x1c], 0xffffffff
je 0x48b370
mov edx, dword [esp + 0x14]
mov eax, ebx
call fcn.0049989c
mov edi, eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x220]
add edi, eax
mov dword [esp + 0x30], edi
mov eax, dword [esp + 0x30]
add dword [esp + 0x24], eax
mov eax, dword [esi + 0x84]
push eax
lea eax, [esp + 0xac]
push eax
mov ecx, dword [esi + 0x20]
add ecx, dword [esp + 0x38]
mov edx, dword [esi + 0x24]
mov eax, dword [esi + 0x20]
call fcn.00414ce8
push esi
lea edi, [esi + 0xd0]
lea esi, [esp + 0xac]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
cmp dword [ebx + 0x2bb], 0
jle 0x48b2d7
mov eax, dword [ebx + 0x2bf]
sub dword [esi + 0xdc], eax
mov eax, dword [esi + 0x10c]
lea eax, [eax + eax*8]
mov edx, dword [esi + 0x110]
mov ecx, dword [esp + 0x14]
mov dword [edx + eax*4], ecx
mov eax, dword [esi + 0x2c]
push eax
lea eax, [esp + 0xac]
push eax
mov ecx, dword [esi + 0xd8]
sub ecx, dword [ebx + 0x2c3]
mov edx, dword [esi + 0x24]
mov eax, dword [esi + 0x20]
call fcn.00414ce8
mov eax, dword [esi + 0x10c]
lea eax, [eax + eax*8]
mov edx, dword [esi + 0x110]
push esi
lea esi, [esp + 0xac]
lea edi, [edx + eax*4 + 4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
mov eax, dword [esi + 0x10c]
lea eax, [eax + eax*8]
mov edx, dword [esi + 0x110]
mov ecx, dword [esi + 0x10c]
lea ecx, [ecx + ecx*8]
mov edi, dword [esi + 0x110]
push esi
lea esi, [edx + eax*4 + 4]
lea edi, [edi + ecx*4 + 0x14]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
mov eax, dword [esp + 0x14]
mov dword [esi + 0xf0], eax
inc dword [esp + 0x14]
inc dword [esi + 0x10c]
mov eax, dword [esi + 0x28]
sub eax, dword [esi + 0x20]
cmp eax, dword [esp + 0x34]
jle 0x48b3d2
mov eax, dword [esi + 0x20]
add eax, dword [esp + 0x34]
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x28]
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x8c]
push eax
lea eax, [esp + 0xac]
push eax
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0x24]
mov eax, dword [esi + 0x28]
call fcn.00414ce8
push esi
lea edi, [esi + 0x90]
lea esi, [esp + 0xac]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
lea eax, [esi + 0x70]
push eax
call fcn.0040731c
test eax, eax
jne 0x48b3d2
mov eax, dword [esi + 0x90]
mov dword [esi + 0x78], eax
cmp dword [esp + 0x20], 0xffffffff
je 0x48b485
mov edx, dword [esp + 0x20]
mov eax, ebx
call fcn.0049989c
mov dword [esp + 0x30], eax
mov eax, dword [esi + 0x84]
push eax
lea eax, [esp + 0xac]
push eax
mov ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x24]
mov eax, dword [esi + 0x28]
sub eax, dword [esp + 0x38]
call fcn.00414ce8
push esi
lea edi, [esi + 0xe0]
lea esi, [esp + 0xac]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
cmp dword [ebx + 0x2bb], 0
jle 0x48b435
mov eax, dword [ebx + 0x2bf]
sub dword [esi + 0xec], eax
mov edx, dword [esi + 0x68]
mov eax, dword [esi + 0xd8]
call fcn.004888b8
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0xe0]
cmp eax, dword [esp + 0x2c]
jge 0x48b46d
mov eax, dword [esp + 0x2c]
mov dword [esi + 0xe0], eax
mov eax, dword [esi + 0xe0]
add eax, dword [esp + 0x30]
mov dword [esi + 0xe8], eax
mov eax, dword [esp + 0x18]
mov dword [esi + 0xf4], eax
dec dword [esp + 0x18]
mov eax, dword [esi + 0xe0]
mov dword [esp + 0x28], eax
mov eax, dword [ebx + 0x369]
neg eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
sub edx, eax
jl 0x48b60f
inc edx
mov dword [esp + 0x70], edx
mov dword [esp], eax
mov edx, dword [esp]
mov eax, ebx
call fcn.0049989c
mov dword [esp + 0x30], eax
cmp dword [esp], 0
jne 0x48b4cb
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x220]
add dword [esp + 0x30], eax
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x24]
push eax
mov edx, dword [esp + 0x30]
add edx, dword [esp + 0x34]
xor ecx, ecx
mov eax, dword [esp + 0x30]
call fcn.0048b188
test al, al
je 0x48b5de
mov eax, dword [esi + 0x10c]
lea eax, [eax + eax*8]
mov edx, dword [esi + 0x110]
mov ecx, dword [esp]
mov dword [edx + eax*4], ecx
mov eax, dword [esi + 0x2c]
push eax
lea eax, [esp + 0xac]
push eax
mov ecx, dword [esp + 0x2c]
add ecx, dword [esp + 0x34]
add ecx, dword [esp + 0x38]
mov edx, dword [esi + 0x24]
mov eax, dword [esp + 0x2c]
add eax, dword [esp + 0x34]
call fcn.00414ce8
mov eax, dword [esi + 0x10c]
lea eax, [eax + eax*8]
mov edx, dword [esi + 0x110]
push esi
lea esi, [esp + 0xac]
lea edi, [edx + eax*4 + 4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
mov eax, dword [esi + 0x10c]
lea eax, [eax + eax*8]
mov edx, dword [esi + 0x110]
mov ecx, dword [esi + 0x10c]
lea ecx, [ecx + ecx*8]
mov edi, dword [esi + 0x110]
push esi
lea esi, [edx + eax*4 + 4]
lea edi, [edi + ecx*4 + 0x14]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
mov eax, dword [esi + 0x10c]
lea eax, [eax + eax*8]
mov edx, dword [esi + 0x110]
mov eax, dword [edx + eax*4 + 0x14]
cmp eax, dword [esp + 0x24]
jge 0x48b5a8
mov eax, dword [esi + 0x10c]
lea eax, [eax + eax*8]
mov edx, dword [esi + 0x110]
mov ecx, dword [esp + 0x24]
mov dword [edx + eax*4 + 0x14], ecx
mov eax, dword [esi + 0x10c]
lea eax, [eax + eax*8]
mov edx, dword [esi + 0x110]
mov eax, dword [edx + eax*4 + 0x1c]
cmp eax, dword [esp + 0x28]
jle 0x48b5d8
mov eax, dword [esi + 0x10c]
lea eax, [eax + eax*8]
mov edx, dword [esi + 0x110]
mov ecx, dword [esp + 0x28]
mov dword [edx + eax*4 + 0x1c], ecx
inc dword [esi + 0x10c]
mov eax, dword [esp + 0x30]
add dword [esp + 0x2c], eax
cmp dword [esi + 0xf4], 0xffffffff
je 0x48b5f8
mov eax, dword [esp]
mov dword [esi + 0xf8], eax
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x28]
jg 0x48b60f
inc dword [esp]
dec dword [esp + 0x70]
jne 0x48b4a9
cmp dword [esp + 0x20], 0xffffffff
je 0x48b6d8
mov eax, dword [esi + 0x10c]
lea eax, [eax + eax*8]
mov edx, dword [esi + 0x110]
mov ecx, dword [esp + 0x20]
mov dword [edx + eax*4], ecx
mov eax, dword [esi + 0x2c]
push eax
lea eax, [esp + 0xac]
push eax
mov ecx, dword [esi + 0xe8]
mov edx, dword [esi + 0x24]
mov eax, dword [esi + 0xe0]
add eax, dword [ebx + 0x2c3]
call fcn.00414ce8
mov eax, dword [esi + 0x10c]
lea eax, [eax + eax*8]
mov edx, dword [esi + 0x110]
push esi
lea esi, [esp + 0xac]
lea edi, [edx + eax*4 + 4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
mov eax, dword [esi + 0x10c]
lea eax, [eax + eax*8]
mov edx, dword [esi + 0x110]
lea eax, [edx + eax*4 + 4]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x74]
mov eax, dword [eax + 0xc]
push eax
lea eax, [esp + 0xac]
push eax
mov ecx, dword [esi + 0x28]
mov eax, dword [esp + 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x7c]
mov eax, dword [eax]
call fcn.00414ce8
mov eax, dword [esi + 0x10c]
lea eax, [eax + eax*8]
mov edx, dword [esi + 0x110]
push esi
lea esi, [esp + 0xac]
lea edi, [edx + eax*4 + 0x14]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
inc dword [esi + 0x10c]
xor eax, eax
mov dword [esi + 0x114], eax
xor eax, eax
mov dword [esi + 0x11c], eax
mov eax, dword [esi + 0x10c]
dec eax
test eax, eax
jl 0x48b778
inc eax
mov dword [esp + 0x70], eax
mov dword [esp], 0
mov eax, dword [esp]
lea eax, [eax + eax*8]
mov edx, dword [esi + 0x110]
mov eax, dword [edx + eax*4]
mov dword [esp + 8], eax
mov edx, dword [esp + 8]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x258]
mov dword [esp + 0xc], eax
cmp dword [esp + 0xc], 0
jle 0x48b769
mov eax, dword [esp + 0xc]
dec eax
test eax, eax
jl 0x48b76f
inc eax
mov dword [esp + 0x78], eax
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0x240]
add dword [esi + 0x114], eax
inc dword [esp + 4]
dec dword [esp + 0x78]
jne 0x48b745
jmp 0x48b76f
inc dword [esi + 0x11c]
inc dword [esp]
dec dword [esp + 0x70]
jne 0x48b703
imul eax, dword [esi + 0x114], 0x49
call fcn.004086e4
mov dword [esi + 0x118], eax
xor eax, eax
mov dword [esi + 0x114], eax
imul eax, dword [esi + 0x11c], 0x15
call fcn.004086e4
mov dword [esi + 0x120], eax
xor eax, eax
mov dword [esi + 0x11c], eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x3f4]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x10c]
dec eax
test eax, eax
jl 0x48be2b
inc eax
mov dword [esp + 0x70], eax
mov dword [esp], 0
mov eax, dword [esp]
lea eax, [eax + eax*8]
mov edx, dword [esi + 0x110]
mov eax, dword [edx + eax*4]
mov dword [esp + 8], eax
mov edx, dword [esp + 8]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x258]
mov dword [esp + 0xc], eax
cmp dword [esp + 0xc], 0
jle 0x48bc9c
mov eax, dword [esp + 0xc]
dec eax
test eax, eax
jl 0x48be1e
inc eax
mov dword [esp + 0x78], eax
mov dword [esp + 4], 0
mov eax, dword [esp]
lea eax, [eax + eax*8]
mov edx, dword [esi + 0x110]
mov eax, dword [edx + eax*4 + 0xc]
mov edx, dword [esp]
lea edx, [edx + edx*8]
mov ecx, dword [esi + 0x110]
sub eax, dword [ecx + edx*4 + 4]
mov dword [esp + 0x30], eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x220]
cmp dword [esp + 8], 0
sete dl
and edx, 0xff
imul edx
mov edx, dword [esp + 0x30]
sub edx, eax
mov dword [esp + 0x5c], edx
xor eax, eax
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
mov eax, ebx
call fcn.00499fc4
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
mov eax, ebx
call fcn.00499f60
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0x240]
mov dword [esp + 0x50], eax
xor eax, eax
mov dword [esp + 0x60], eax
mov byte [esp + 0x6c], 0
mov eax, dword [esp + 0x50]
dec eax
test eax, eax
jl 0x48b937
inc eax
mov dword [esp + 0x7c], eax
xor edi, edi
push edi
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov eax, ebx
mov ebp, dword [eax]
call dword [ebp + 0x230]
mov dword [esp + 0x54], eax
mov edx, dword [esp + 0x54]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x270]
mov ebp, eax
mov edx, dword [esp + 0x54]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x254]
mov dword [esp + 0x64], eax
mov edx, dword [esp + 0x54]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x3a4]
test al, al
je 0x48b930
mov eax, dword [esp + 0x48]
push eax
push ebp
mov eax, dword [esp + 0x64]
push eax
call fcn.00406bd4
cmp eax, dword [esp + 0x64]
jl 0x48b92b
add dword [esp + 0x60], ebp
jmp 0x48b930
mov byte [esp + 0x6c], 1
inc edi
dec dword [esp + 0x7c]
jne 0x48b8c4
mov eax, dword [esp + 0x50]
dec eax
test eax, eax
jl 0x48bc89
inc eax
mov dword [esp + 0x7c], eax
xor edi, edi
push edi
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov eax, ebx
mov ebp, dword [eax]
call dword [ebp + 0x230]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x50]
dec eax
cmp edi, eax
je 0x48ba0e
mov edx, dword [esp + 0x54]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x270]
mov ebp, eax
mov edx, dword [esp + 0x54]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x254]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x48]
push eax
push ebp
mov eax, dword [esp + 0x64]
push eax
call fcn.00406bd4
mov dword [esp + 0x68], eax
mov edx, dword [esp + 0x54]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x3a4]
test al, al
je 0x48ba00
mov eax, dword [esp + 0x60]
cmp eax, dword [esp + 0x48]
je 0x48b9fa
mov eax, dword [esp + 0x68]
cmp eax, dword [esp + 0x64]
jle 0x48b9f4
cmp byte [esp + 0x6c], 0
je 0x48b9ee
mov eax, dword [esp + 0x60]
push eax
push ebp
mov eax, dword [esp + 0x64]
sub eax, dword [esp + 0x60]
push eax
call fcn.00406bd4
add eax, dword [esp + 0x64]
mov ebp, eax
jmp 0x48ba16
mov ebp, dword [esp + 0x68]
jmp 0x48ba16
mov ebp, dword [esp + 0x64]
jmp 0x48ba16
mov ebp, dword [esp + 0x68]
jmp 0x48ba16
sub dword [esp + 0x5c], ebp
sub dword [esp + 0x48], ebp
sub dword [esp + 0x58], ebp
jmp 0x48ba16
mov ebp, dword [esp + 0x30]
sub ebp, dword [esp + 0x44]
cmp dword [esp + 8], 0
jne 0x48ba34
test edi, edi
jne 0x48ba34
cmp dword [esp + 0x50], 1
jle 0x48ba34
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x220]
add ebp, eax
push edi
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov eax, ebx
call fcn.00499cc8
mov dword [esp + 0x3c], eax
mov eax, dword [ebx + 0x2b7]
imul dword [esp + 0x3c]
mov dword [esp + 0x40], eax
mov eax, dword [esp]
lea eax, [eax + eax*8]
mov edx, dword [esi + 0x110]
lea eax, [edx + eax*4 + 4]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 0xc]
mov edx, dword [ebx + 0x2b7]
imul edx, dword [esp + 4]
add eax, edx
add eax, dword [esp + 0x40]
push eax
lea eax, [esp + 0x9c]
push eax
mov eax, dword [esp + 0x88]
mov edx, dword [eax + 0xc]
mov eax, dword [ebx + 0x2b7]
imul eax, dword [esp + 0xc]
add edx, eax
mov eax, dword [esp + 0x88]
mov ecx, dword [eax]
add ecx, dword [esp + 0x4c]
add ecx, ebp
mov eax, dword [esp + 0x88]
mov eax, dword [eax]
add eax, dword [esp + 0x4c]
call fcn.00414ce8
add dword [esp + 0x44], ebp
mov eax, dword [esp]
lea eax, [eax + eax*8]
mov edx, dword [esi + 0x110]
lea eax, [edx + eax*4]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 0x1c]
push eax
mov eax, dword [esp + 0x88]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0x9c]
call fcn.0048b188
test al, al
je 0x48bc7e
imul eax, dword [esi + 0x114], 0x49
mov edx, dword [esi + 0x118]
lea ebp, [edx + eax]
mov eax, dword [esp + 8]
mov dword [ebp + 4], eax
mov eax, dword [esp + 4]
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], edi
mov eax, dword [esp + 0x54]
mov dword [ebp], eax
mov eax, dword [esp + 0x3c]
mov dword [ebp + 0x10], eax
mov edx, dword [esp + 0x54]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x290]
mov byte [ebp + 0x48], al
test edi, edi
sete al
mov byte [ebp + 0x44], al
mov eax, dword [esp + 0x50]
dec eax
cmp edi, eax
sete al
mov byte [ebp + 0x45], al
test edi, edi
jne 0x48bb73
cmp dword [esp + 8], 0
je 0x48bb77
xor eax, eax
jmp 0x48bb79
mov al, 1
mov byte [ebp + 0x46], al
mov eax, dword [esp + 0x50]
dec eax
cmp edi, eax
jne 0x48bb8f
mov eax, dword [esp + 8]
cmp eax, dword [esp + 0x18]
je 0x48bb93
xor eax, eax
jmp 0x48bb95
mov al, 1
mov byte [ebp + 0x47], al
push esi
push edi
lea edi, [ebp + 0x14]
lea esi, [esp + 0xa0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
push esi
push edi
lea esi, [ebp + 0x14]
lea edi, [ebp + 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 0x1c]
cmp eax, dword [ebp + 0x2c]
jge 0x48bbd4
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 0x1c]
mov dword [ebp + 0x2c], eax
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 0x14]
cmp eax, dword [ebp + 0x24]
jle 0x48bbf0
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 0x14]
mov dword [ebp + 0x24], eax
inc dword [esi + 0x114]
mov eax, dword [esp + 0xc]
dec eax
cmp eax, dword [esp + 4]
jne 0x48bc7e
mov eax, dword [esp + 4]
add eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x10]
jge 0x48bc7e
mov eax, dword [esp]
lea eax, [eax + eax*8]
mov edx, dword [esi + 0x110]
lea eax, [edx + eax*4 + 4]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x88]
mov eax, dword [eax + 0xc]
mov edx, dword [ebx + 0x2b7]
imul edx, dword [esp + 0x10]
add eax, edx
push eax
lea eax, [esp + 0xac]
push eax
mov eax, dword [esp + 0x90]
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0xc]
add eax, dword [esp + 0x44]
imul eax, dword [ebx + 0x2b7]
add edx, eax
mov ecx, dword [ebp + 0x2c]
mov eax, dword [ebp + 0x24]
call fcn.00414ce8
push esi
push edi
lea esi, [esp + 0xb0]
lea edi, [ebp + 0x34]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
inc edi
dec dword [esp + 0x7c]
jne 0x48b94b
inc dword [esp + 4]
dec dword [esp + 0x78]
jne 0x48b81f
jmp 0x48be1e
mov eax, dword [esp]
lea eax, [eax + eax*8]
mov edx, dword [esi + 0x110]
mov ebp, dword [edx + eax*4 + 0xc]
mov eax, dword [esp]
lea eax, [eax + eax*8]
mov edx, dword [esi + 0x110]
sub ebp, dword [edx + eax*4 + 4]
mov eax, dword [esp]
lea eax, [eax + eax*8]
mov edx, dword [esi + 0x110]
lea eax, [edx + eax*4 + 4]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x8c]
mov eax, dword [eax + 0xc]
mov edx, dword [ebx + 0x2b7]
imul edx, dword [esp + 0x10]
add eax, edx
push eax
lea eax, [esp + 0x9c]
push eax
mov eax, dword [esp + 0x94]
mov ecx, dword [eax]
add ecx, ebp
mov eax, dword [esp + 0x94]
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x94]
mov eax, dword [eax]
call fcn.00414ce8
mov eax, dword [esp]
lea eax, [eax + eax*8]
mov edx, dword [esi + 0x110]
lea eax, [edx + eax*4]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x90]
mov eax, dword [eax + 0x1c]
push eax
mov eax, dword [esp + 0x94]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0x9c]
call fcn.0048b188
test al, al
je 0x48be1e
imul eax, dword [esi + 0x11c], 0x15
mov edx, dword [esi + 0x120]
lea eax, [edx + eax]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 8]
mov dword [eax], edx
mov eax, dword [esp + 0x94]
push esi
lea edi, [eax + 4]
lea esi, [esp + 0x9c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
mov eax, dword [esp + 0x90]
mov eax, dword [eax + 0x1c]
mov edx, dword [esp + 0x94]
cmp eax, dword [edx + 0xc]
jge 0x48bdc1
mov eax, dword [esp + 0x90]
mov eax, dword [eax + 0x1c]
mov edx, dword [esp + 0x94]
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x90]
mov eax, dword [eax + 0x14]
mov edx, dword [esp + 0x94]
cmp eax, dword [edx + 4]
jle 0x48bdeb
mov eax, dword [esp + 0x90]
mov eax, dword [eax + 0x14]
mov edx, dword [esp + 0x94]
mov dword [edx + 4], eax
mov eax, dword [esp]
lea eax, [eax + eax*8]
mov edx, dword [esi + 0x110]
mov eax, dword [edx + eax*4 + 0xc]
mov edx, dword [esp]
lea edx, [edx + edx*8]
mov ecx, dword [esi + 0x110]
cmp eax, dword [ecx + edx*4 + 0x1c]
jle 0x48be18
mov eax, dword [esp + 0x94]
mov byte [eax + 0x14], 1
inc dword [esi + 0x11c]
inc dword [esp]
dec dword [esp + 0x70]
jne 0x48b7d5
mov eax, dword [esi + 0x8c]
sub eax, dword [esi + 0x84]
cdq
idiv dword [ebx + 0x2cb]
inc eax
mov dword [esi + 0x124], eax
mov eax, dword [esi + 0x124]
mov edx, eax
shl eax, 5
sub eax, edx
call fcn.004086e4
mov dword [esi + 0x128], eax
xor eax, eax
mov dword [esi + 0x124], eax
mov eax, dword [ebx + 0x39d]
mov dword [esp + 0x4c], eax
mov eax, dword [esi + 0x84]
mov dword [esp + 0x38], eax
jmp 0x48bf69
mov eax, dword [esi + 0x124]
mov edx, eax
shl eax, 5
sub eax, edx
mov edx, dword [esi + 0x128]
lea edi, [edx + eax]
mov eax, dword [esp + 0x4c]
mov dword [edi], eax
mov edx, dword [esp + 0x4c]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x2cc]
mov byte [edi + 4], al
mov eax, dword [esp + 0x4c]
call fcn.0048a958
mov byte [edi + 5], al
push 0
mov ecx, dword [ebx + 0x2cb]
mov edx, dword [esp + 0x50]
mov eax, ebx
call fcn.0049a1dc
mov dword [edi + 6], eax
mov edx, dword [esp + 0x4c]
mov eax, ebx
call fcn.0049a3a8
mov dword [edi + 0xa], eax
mov eax, dword [edi + 0xa]
imul dword [ebx + 0x2f0]
mov dword [edi + 0xe], eax
mov cl, byte [edi + 5]
mov edx, dword [esp + 0x4c]
mov eax, ebx
mov ebp, dword [eax]
call dword [ebp + 0x2a4]
mov byte [edi + 0x12], al
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x368]
test al, al
je 0x48bf1a
mov edx, dword [esp + 0x4c]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x2c0]
mov dword [edi + 0x13], eax
mov eax, ebx
call fcn.0049a6c0
test al, al
je 0x48bf46
mov eax, dword [ebx + 0x2cb]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
mov edx, dword [esp + 0x4c]
mov eax, ebx
mov ebp, dword [eax]
call dword [ebp + 0x2a8]
mov dword [edi + 0x17], eax
jmp 0x48bf4d
mov dword [edi + 0x17], 0xffffffff
mov edx, dword [esp + 0x4c]
mov eax, ebx
call fcn.0048e3d4
mov dword [esp + 0x4c], eax
mov eax, dword [edi + 6]
add dword [esp + 0x38], eax
inc dword [esi + 0x124]
cmp dword [esp + 0x4c], 0
je 0x48bf80
mov eax, dword [esi + 0x8c]
cmp eax, dword [esp + 0x38]
jg 0x48be7e
mov eax, ebx
call fcn.004997c4
add eax, dword [esi + 0x80]
dec eax
mov dword [esi + 0xfc], eax
lea eax, [esi + 0xd0]
call fcn.004888a0
test al, al
je 0x48bfaf
mov eax, dword [ebx + 0x369]
sub dword [esi + 0xfc], eax
lea eax, [esi + 0xe0]
call fcn.004888a0
test al, al
jne 0x48bfdc
mov eax, dword [esi + 0xfc]
mov edx, dword [esi + 0x88]
dec edx
cmp eax, edx
jle 0x48bfdc
mov eax, dword [esi + 0x88]
dec eax
mov dword [esi + 0xfc], eax
mov dword [esi + 0x100], 0xffffffff
mov eax, dword [esi + 0x8c]
cmp eax, dword [esp + 0x38]
jle 0x48c03d
mov eax, dword [esp + 0x38]
dec eax
mov dword [esi + 0x100], eax
mov eax, dword [esi + 0x8c]
push eax
lea eax, [esp + 0xac]
push eax
mov ecx, dword [esi + 0xfc]
inc ecx
mov edx, dword [esi + 0x100]
inc edx
mov eax, dword [esi]
call fcn.00414ce8
push esi
lea edi, [esi + 0xa0]
lea esi, [esp + 0xac]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
mov eax, dword [esi + 0xa4]
mov dword [esi + 0x6c], eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x208]
test eax, eax
jle 0x48c06a
xor edx, edx
mov eax, ebx
call fcn.0049989c
mov edi, eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x220]
add edi, eax
mov dword [esi + 0x104], edi
jmp 0x48c072
xor eax, eax
mov dword [esi + 0x104], eax
lea eax, [esi + 0xd0]
call fcn.004888a0
test al, al
jne 0x48c0b5
mov eax, dword [esi + 0x80]
add eax, dword [esi + 0x104]
mov edx, dword [esi + 0xd8]
sub edx, dword [ebx + 0x2c3]
cmp eax, edx
jle 0x48c0b5
mov eax, dword [esi + 0xd8]
sub eax, dword [ebx + 0x2c3]
sub eax, dword [esi + 0x80]
mov dword [esi + 0x104], eax
lea eax, [esi + 0xd0]
call fcn.004888a0
test al, al
je 0x48c0cc
mov ebp, dword [ebx + 0x369]
jmp 0x48c0ce
xor ebp, ebp
lea eax, [esi + 0xe0]
call fcn.004888a0
test al, al
jne 0x48c107
mov eax, dword [esi + 0x80]
add eax, dword [esi + 0x104]
sub eax, ebp
cmp eax, dword [esi + 0xe0]
jle 0x48c107
mov eax, dword [esi + 0xe0]
sub eax, dword [esi + 0x80]
add ebp, eax
mov dword [esi + 0x104], ebp
cmp byte [ebx + 0x28e], 0
je 0x48c120
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x2c4]
mov dword [esi + 0x108], eax
mov eax, dword [esi + 0x24]
cmp eax, dword [esi + 0x2c]
jne 0x48c131
lea eax, [esi + 0x20]
push eax
call fcn.00407494
mov eax, dword [esi + 0x34]
cmp eax, dword [esi + 0x3c]
jne 0x48c142
lea eax, [esi + 0x30]
push eax
call fcn.00407494
mov eax, dword [esi + 0x44]
cmp eax, dword [esi + 0x4c]
jne 0x48c153
lea eax, [esi + 0x40]
push eax
call fcn.00407494
mov eax, dword [esi + 0x54]
cmp eax, dword [esi + 0x5c]
jne 0x48c164
lea eax, [esi + 0x50]
push eax
call fcn.00407494
add esp, 0xb8
pop ebp
pop edi
pop esi
pop ebx
ret