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

Disassembly:
sub esp, 0x74
push ebx
push esi
push edi
mov ebx, ecx
push ebp
mov ecx, 0x580e30
push 0x14
xor esi, esi
call fcn.004babd0
push 0xff
mov ecx, 0x580e30
call fcn.004bb670
push esi
mov ecx, dword [ebx + 0x100]
push 0x44
add ecx, 0x104
call fcn.004d5650
push esi
mov ecx, dword [ebx + 0x100]
push 0x67
add ecx, 0x104
call fcn.004d5650
mov ebp, dword [esp + 0x88]
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], esi
cmp ebp, 3
mov eax, dword [ebx + 0x104]
mov dword [esp + 0x70], eax
mov ecx, dword [ebx + 0x108]
mov dword [esp + 0x74], ecx
je 0x49c1ef
cmp ebp, 4
je 0x49c1ef
test ebp, ebp
jne 0x49c255
mov eax, dword [esp + 0x70]
xor esi, esi
sub eax, 5
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x74]
sub eax, 5
cmp ecx, esi
mov dword [esp + 0x24], eax
jle 0x49c255
mov edi, dword [esp + 0x7c]
mov ecx, dword [esp + 0x74]
cmp ecx, edi
jle 0x49c24c
cmp esi, 5
jl 0x49c235
mov eax, dword [esp + 0x20]
cmp esi, eax
jg 0x49c235
cmp edi, 5
jl 0x49c235
mov eax, dword [esp + 0x24]
cmp edi, eax
jle 0x49c243
push 0xa
mov ecx, 0x580e30
push edi
push esi
call fcn.004bb040
inc edi
mov eax, dword [esp + 0x74]
cmp edi, eax
jl 0x49c21b
inc esi
mov eax, dword [esp + 0x70]
cmp esi, eax
jl 0x49c20f
cmp ebp, 1
je 0x49c268
cmp ebp, 2
je 0x49c268
cmp ebp, 9
jne 0x49c62c
push ebp
mov ecx, ebx
call fcn.004a0350
mov esi, eax
lea ecx, [ebx + 0x4e0]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x48], 4
xor eax, eax
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x38]
cmp dword [ecx], eax
jle 0x49c61d
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x54]
add eax, dword [ecx - 0x10]
mov cl, byte [eax + 0xd]
cmp cl, 1
je 0x49c603
mov eax, dword [eax]
mov ecx, dword [ebx + 0x100]
push eax
call fcn.00439110
mov edi, eax
test edi, edi
je 0x49c603
mov eax, dword [edi + 8]
mov ecx, dword [eax + 0x34]
mov dword [esp + 0x68], ecx
fld dword [edi + 0x38]
fsub dword [eax + 0x30]
fsub dword [0x550b38]
call fcn.005351bc
mov dword [esp + 0x18], eax
fld dword [edi + 0x3c]
fsub dword [esp + 0x68]
fsub dword [0x550b38]
call fcn.005351bc
lea ecx, [esp + 0x18]
mov dword [esp + 0x1c], eax
push ecx
mov ecx, ebx
call fcn.0049d020
fld dword [edi + 0x38]
fadd dword [esp + 0x68]
fadd dword [0x550b38]
call fcn.005351bc
mov dword [esp + 0x10], eax
fld dword [edi + 0x3c]
fadd dword [esp + 0x68]
fadd dword [0x550b38]
call fcn.005351bc
lea ecx, [esp + 0x10]
mov dword [esp + 0x14], eax
push ecx
mov ecx, ebx
call fcn.0049d020
fld dword [edi + 0x38]
call fcn.005351bc
mov dword [esp + 0x20], eax
fld dword [edi + 0x3c]
call fcn.005351bc
lea ecx, [esp + 0x20]
mov dword [esp + 0x24], eax
push ecx
mov ecx, ebx
call fcn.0049d020
cmp ebp, 1
je 0x49c395
cmp ebp, 2
je 0x49c395
mov eax, dword [esp + 0x14]
push 0xff
mov ecx, dword [esp + 0x14]
push eax
mov edx, dword [esp + 0x24]
push ecx
mov eax, dword [esp + 0x24]
push edx
push eax
mov ecx, 0x580e30
call fcn.004bae10
jmp 0x49c3ae
mov eax, dword [esp + 0x24]
push 0xff
mov ecx, dword [esp + 0x24]
push eax
push ecx
mov ecx, 0x580e30
call fcn.004badc0
cmp ebp, 1
jne 0x49c58d
mov eax, dword [edi + 8]
mov ax, word [eax + 0x14]
cmp ax, 7
je 0x49c515
cmp esi, 0xffffffff
je 0x49c414
cmp esi, 3
jne 0x49c3d8
cmp ax, 0x20
je 0x49c414
cmp esi, 2
jne 0x49c3e3
cmp ax, 8
je 0x49c414
cmp esi, 1
jne 0x49c3ee
cmp ax, 0xf
je 0x49c414
test esi, esi
jne 0x49c603
cmp ax, 0x20
je 0x49c603
cmp ax, 8
je 0x49c603
cmp ax, 0xf
je 0x49c603
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x18]
dec eax
push edx
mov dword [esp + 0x1c], eax
dec dword [esp + 0x20]
mov ecx, ebx
call fcn.0049d020
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x10]
inc ecx
push edx
mov dword [esp + 0x14], ecx
mov ecx, ebx
inc dword [esp + 0x18]
call fcn.0049d020
mov ecx, dword [esp + 0x14]
push 8
mov edx, dword [esp + 0x14]
push ecx
mov eax, dword [esp + 0x24]
push edx
mov ecx, dword [esp + 0x24]
push eax
push ecx
mov ecx, 0x580e30
call fcn.004baf30
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x18]
sub ecx, 3
push edx
mov dword [esp + 0x1c], ecx
mov ecx, ebx
mov eax, dword [esp + 0x20]
sub eax, 3
mov dword [esp + 0x20], eax
call fcn.0049d020
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x10]
add ecx, 3
push edx
mov dword [esp + 0x14], ecx
mov ecx, ebx
mov eax, dword [esp + 0x18]
add eax, 3
mov dword [esp + 0x18], eax
call fcn.0049d020
mov ecx, dword [esp + 0x14]
push 4
mov edx, dword [esp + 0x14]
push ecx
mov eax, dword [esp + 0x24]
push edx
mov ecx, dword [esp + 0x24]
push eax
push ecx
mov ecx, 0x580e30
call fcn.004baf30
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x18]
sub ecx, 5
push edx
mov dword [esp + 0x1c], ecx
mov ecx, ebx
mov eax, dword [esp + 0x20]
sub eax, 5
mov dword [esp + 0x20], eax
call fcn.0049d020
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x10]
add ecx, 5
push edx
mov dword [esp + 0x14], ecx
mov ecx, ebx
mov eax, dword [esp + 0x18]
add eax, 5
mov dword [esp + 0x18], eax
call fcn.0049d020
push 2
jmp 0x49c5e5
cmp ebp, 1
jne 0x49c58d
mov eax, dword [edi + 8]
cmp word [eax + 0x14], 7
jne 0x49c58d
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x18]
sub eax, 5
push edx
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x20]
sub ecx, 5
mov dword [esp + 0x20], ecx
mov ecx, ebx
call fcn.0049d020
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x10]
add ecx, 5
push edx
mov dword [esp + 0x14], ecx
mov ecx, ebx
mov eax, dword [esp + 0x18]
add eax, 5
mov dword [esp + 0x18], eax
call fcn.0049d020
mov ecx, dword [esp + 0x14]
push pe_nt_image_headers32
mov edx, dword [esp + 0x14]
push ecx
mov eax, dword [esp + 0x24]
push edx
mov ecx, dword [esp + 0x24]
push eax
push ecx
mov ecx, 0x580e30
call fcn.004bb0c0
jmp 0x49c603
cmp ebp, 2
jne 0x49c603
mov eax, dword [edi + 8]
cmp word [eax + 0x14], 7
jne 0x49c603
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x18]
sub eax, 3
push edx
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x20]
sub ecx, 3
mov dword [esp + 0x20], ecx
mov ecx, ebx
call fcn.0049d020
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x10]
add ecx, 3
push edx
mov dword [esp + 0x14], ecx
mov ecx, ebx
mov eax, dword [esp + 0x18]
add eax, 3
mov dword [esp + 0x18], eax
call fcn.0049d020
push pe_nt_image_headers32
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x20]
push edx
push eax
push ecx
mov ecx, 0x580e30
call fcn.004baf30
add dword [esp + 0x54], 0x14
mov ecx, dword [esp + 0x5c]
inc ecx
mov dword [esp + 0x5c], ecx
mov eax, dword [esp + 0x38]
cmp dword [eax], ecx
jg 0x49c29a
add dword [esp + 0x38], 4
dec dword [esp + 0x48]
jne 0x49c284
cmp ebp, 1
je 0x49c657
cmp ebp, 2
je 0x49c657
cmp ebp, 3
je 0x49c657
cmp ebp, 4
je 0x49c657
test ebp, ebp
je 0x49c657
cmp ebp, 5
je 0x49c657
cmp ebp, 6
je 0x49c657
cmp ebp, 8
jne 0x49cd68
mov dword [esp + 0x50], 0
mov eax, dword [ebx + 0x194]
test eax, eax
jle 0x49cd68
mov eax, dword [ebx + 0x19c]
mov ecx, dword [esp + 0x50]
dec eax
cmp eax, ecx
jge 0x49c6ea
lea esi, [ecx + 1]
lea ecx, [ecx*4 + 4]
push ecx
call fcn.0052f700
mov dword [esp + 0x24], eax
add esp, 4
xor ecx, ecx
test eax, eax
je 0x49c6ea
mov eax, dword [ebx + 0x19c]
cmp eax, ecx
jle 0x49c6cb
xor edx, edx
mov eax, dword [esp + 0x20]
cmp esi, ecx
jle 0x49c6cb
mov edi, dword [ebx + 0x190]
add edx, 4
add eax, 4
inc ecx
mov edi, dword [edi + edx - 4]
mov dword [eax - 4], edi
mov edi, dword [ebx + 0x19c]
cmp edi, ecx
jg 0x49c6a9
mov eax, dword [ebx + 0x190]
push eax
call fcn.0052f720
mov eax, dword [esp + 0x24]
add esp, 4
mov dword [ebx + 0x190], eax
mov dword [ebx + 0x19c], esi
mov ecx, dword [ebx + 0x190]
mov eax, dword [esp + 0x50]
mov edx, dword [ecx + eax*4]
mov ecx, dword [ebx + 0x100]
push edx
call fcn.00439110
mov edi, eax
test edi, edi
je 0x49cd51
mov eax, dword [edi + 8]
movsx ecx, word [eax + 0x10]
push ecx
mov ecx, ebx
call fcn.0049d480
mov esi, eax
mov eax, dword [edi + 8]
mov ecx, dword [eax + 0x30]
mov edx, dword [eax + 0x34]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x80], edx
fld dword [esp + 0x64]
cmp ecx, 0x40200000
jne 0x49c77f
fstp qword [esp + 0x20]
fld dword [edi + 0x38]
call fcn.005351bc
sub eax, 3
mov dword [esp + 0x28], eax
fld dword [edi + 0x3c]
call fcn.005351bc
sub eax, 3
mov dword [esp + 0x2c], eax
fld dword [edi + 0x38]
call fcn.005351bc
add eax, 3
mov dword [esp + 0x30], eax
fld dword [edi + 0x3c]
call fcn.005351bc
add eax, 3
jmp 0x49c938
fstp qword [esp + 0x20]
fld qword [esp + 0x20]
fcomp qword [0x550b70]
fnstsw ax
test ah, 0x40
je 0x49c855
cmp esi, 6
jne 0x49c7d2
fld dword [edi + 0x38]
call fcn.005351bc
dec eax
mov dword [esp + 0x28], eax
fld dword [edi + 0x3c]
call fcn.005351bc
dec eax
mov dword [esp + 0x2c], eax
fld dword [edi + 0x38]
call fcn.005351bc
inc eax
mov dword [esp + 0x30], eax
fld dword [edi + 0x3c]
call fcn.005351bc
inc eax
jmp 0x49c938
fld dword [edi + 0x38]
mov eax, dword [esp + 0x8c]
cmp eax, 0x46
jne 0x49c81b
call fcn.005351bc
sub eax, 3
mov dword [esp + 0x28], eax
fld dword [edi + 0x3c]
call fcn.005351bc
sub eax, 3
mov dword [esp + 0x2c], eax
fld dword [edi + 0x38]
call fcn.005351bc
add eax, 3
mov dword [esp + 0x30], eax
fld dword [edi + 0x3c]
call fcn.005351bc
add eax, 3
jmp 0x49c938
call fcn.005351bc
sub eax, 2
mov dword [esp + 0x28], eax
fld dword [edi + 0x3c]
call fcn.005351bc
sub eax, 2
mov dword [esp + 0x2c], eax
fld dword [edi + 0x38]
call fcn.005351bc
add eax, 2
mov dword [esp + 0x30], eax
fld dword [edi + 0x3c]
call fcn.005351bc
add eax, 2
jmp 0x49c938
mov eax, dword [esp + 0x64]
cmp eax, 0x3f800000
jne 0x49c8bb
cmp esi, 6
je 0x49c8a3
cmp esi, 3
je 0x49c8a3
fld dword [edi + 0x38]
call fcn.005351bc
sub eax, 2
mov dword [esp + 0x28], eax
fld dword [edi + 0x3c]
call fcn.005351bc
sub eax, 2
mov dword [esp + 0x2c], eax
fld dword [edi + 0x38]
call fcn.005351bc
inc eax
mov dword [esp + 0x30], eax
fld dword [edi + 0x3c]
call fcn.005351bc
inc eax
jmp 0x49c938
fld dword [edi + 0x38]
call fcn.005351bc
dec eax
mov dword [esp + 0x28], eax
fld dword [edi + 0x3c]
call fcn.005351bc
dec eax
jmp 0x49c920
fld qword [esp + 0x20]
fcomp qword [0x550b78]
fnstsw ax
test ah, 0x40
je 0x49cd1e
cmp esi, 6
je 0x49c90c
cmp esi, 4
je 0x49c90c
fld dword [edi + 0x38]
call fcn.005351bc
dec eax
mov dword [esp + 0x28], eax
fld dword [edi + 0x3c]
call fcn.005351bc
dec eax
mov dword [esp + 0x2c], eax
fld dword [edi + 0x38]
call fcn.005351bc
inc eax
mov dword [esp + 0x30], eax
fld dword [edi + 0x3c]
call fcn.005351bc
inc eax
jmp 0x49c938
fld dword [edi + 0x38]
call fcn.005351bc
mov dword [esp + 0x28], eax
fld dword [edi + 0x3c]
call fcn.005351bc
mov dword [esp + 0x2c], eax
fld dword [edi + 0x38]
call fcn.005351bc
mov dword [esp + 0x30], eax
fld dword [edi + 0x3c]
call fcn.005351bc
mov dword [esp + 0x34], eax
cmp esi, 0x6d
jne 0x49c965
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
dec eax
dec ecx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x28], eax
inc edx
mov eax, dword [esp + 0x34]
inc eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
lea eax, [esp + 0x28]
mov ecx, ebx
push eax
call fcn.0049d020
lea eax, [esp + 0x30]
mov ecx, ebx
push eax
call fcn.0049d020
mov eax, dword [esp + 0x34]
push 0xff
mov ecx, dword [esp + 0x34]
push eax
mov edx, dword [esp + 0x34]
push ecx
mov eax, dword [esp + 0x34]
push edx
push eax
mov ecx, 0x580e30
call fcn.004bae10
cmp ebp, 3
je 0x49cc57
test ebp, ebp
je 0x49cc57
cmp ebp, 1
je 0x49cbb6
cmp ebp, 2
je 0x49cbb6
cmp ebp, 5
jne 0x49ca5e
mov eax, dword [edi + 8]
cmp esi, 0x6d
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x20], ecx
jne 0x49c9e9
fld dword [esp + 0x20]
fmul dword [0x550b80]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
call fcn.005351bc
lea esi, [eax*2]
mov eax, dword [esp + 0x28]
sub eax, esi
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], eax
push ecx
mov eax, dword [esp + 0x30]
mov ecx, ebx
sub eax, esi
mov dword [esp + 0x20], eax
call fcn.0049d020
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x10]
add eax, esi
push ecx
mov ecx, ebx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x38]
add eax, esi
mov dword [esp + 0x18], eax
call fcn.0049d020
mov ecx, dword [esp + 0x14]
push 0x14
mov edx, dword [esp + 0x14]
push ecx
mov eax, dword [esp + 0x24]
push edx
mov ecx, dword [esp + 0x24]
push eax
push ecx
mov ecx, 0x580e30
call fcn.004bb0c0
jmp 0x49cd51
cmp ebp, 8
jne 0x49cd51
mov eax, dword [edi + 8]
fld dword [eax + 0x28]
call fcn.005351bc
mov esi, eax
mov eax, dword [esp + 0x28]
sub eax, esi
lea ecx, [esp + 0x40]
mov dword [esp + 0x40], eax
push ecx
mov eax, dword [esp + 0x30]
mov ecx, ebx
sub eax, esi
mov dword [esp + 0x48], eax
call fcn.0049d020
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x38]
add eax, esi
push ecx
mov ecx, ebx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x38]
add eax, esi
mov dword [esp + 0x40], eax
call fcn.0049d020
mov ecx, dword [esp + 0x3c]
push 0x14
mov edx, dword [esp + 0x3c]
push ecx
mov eax, dword [esp + 0x4c]
push edx
mov ecx, dword [esp + 0x4c]
push eax
push ecx
mov ecx, 0x580e30
call fcn.004baf30
mov eax, esi
cdq
sub eax, edx
sar eax, 1
mov edi, eax
mov eax, dword [esp + 0x28]
sub eax, edi
lea ecx, [esp + 0x40]
mov dword [esp + 0x40], eax
push ecx
mov eax, dword [esp + 0x30]
mov ecx, ebx
sub eax, edi
mov dword [esp + 0x48], eax
call fcn.0049d020
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x38]
add eax, edi
push ecx
mov ecx, ebx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x38]
add eax, edi
mov dword [esp + 0x40], eax
call fcn.0049d020
push 0x14
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x48]
push edx
push eax
push ecx
mov ecx, 0x580e30
call fcn.004baf30
mov ecx, 0xfffffffd
mov eax, esi
cdq
idiv ecx
mov ecx, dword [esp + 0x28]
add ecx, eax
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x2c]
add ecx, eax
lea eax, [esp + 0x40]
mov dword [esp + 0x44], ecx
push eax
mov ecx, ebx
call fcn.0049d020
mov ecx, 3
mov eax, esi
cdq
idiv ecx
mov ecx, dword [esp + 0x30]
add ecx, eax
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x34]
add ecx, eax
lea eax, [esp + 0x38]
mov dword [esp + 0x3c], ecx
push eax
mov ecx, ebx
call fcn.0049d020
mov ecx, dword [esp + 0x3c]
push 0x14
mov edx, dword [esp + 0x3c]
push ecx
mov eax, dword [esp + 0x4c]
push edx
mov ecx, dword [esp + 0x4c]
push eax
push ecx
mov ecx, 0x580e30
call fcn.004baf30
jmp 0x49cd51
mov eax, dword [edi + 8]
cmp esi, 0x6d
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x20], ecx
jne 0x49cbd5
fld dword [esp + 0x20]
fmul dword [0x550b44]
fstp dword [esp + 0x20]
jmp 0x49cbe7
cmp esi, 0x44
je 0x49cbdf
cmp esi, 0x67
jne 0x49cbe7
mov dword [esp + 0x20], 0x40a00000
fld dword [esp + 0x20]
call fcn.005351bc
mov esi, eax
mov eax, dword [esp + 0x28]
sub eax, esi
lea ecx, [esp + 0x68]
mov dword [esp + 0x68], eax
push ecx
mov eax, dword [esp + 0x30]
mov ecx, ebx
sub eax, esi
mov dword [esp + 0x70], eax
call fcn.0049d020
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x48]
add eax, esi
push ecx
mov ecx, ebx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x38]
add eax, esi
mov dword [esp + 0x50], eax
call fcn.0049d020
mov ecx, dword [esp + 0x4c]
push 0xa
mov edx, dword [esp + 0x4c]
push ecx
mov eax, dword [esp + 0x74]
push edx
mov ecx, dword [esp + 0x74]
push eax
push ecx
mov ecx, 0x580e30
call fcn.004bb0c0
jmp 0x49cd51
mov eax, dword [edi + 8]
test ebp, ebp
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x20], ecx
je 0x49cc73
fld dword [esp + 0x20]
fmul dword [0x550b44]
fstp dword [esp + 0x20]
cmp esi, 0x6d
jne 0x49cc86
fld dword [esp + 0x20]
fmul dword [0x550b44]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
call fcn.005351bc
mov edi, eax
mov eax, dword [esp + 0x28]
sub eax, edi
lea ecx, [esp + 0x5c]
mov dword [esp + 0x5c], eax
push ecx
mov eax, dword [esp + 0x30]
mov ecx, ebx
sub eax, edi
mov dword [esp + 0x64], eax
call fcn.0049d020
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x54]
add eax, edi
push ecx
mov ecx, ebx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x38]
add eax, edi
mov dword [esp + 0x5c], eax
call fcn.0049d020
test ebp, ebp
jne 0x49ccfc
cmp esi, 3
jne 0x49ccfc
mov eax, dword [esp + 0x58]
push 0xa
mov ecx, dword [esp + 0x58]
push eax
mov edx, dword [esp + 0x68]
push ecx
mov eax, dword [esp + 0x68]
push edx
push eax
mov ecx, 0x580e30
call fcn.004baf30
jmp 0x49cd51
mov eax, dword [esp + 0x58]
push 0xa
mov ecx, dword [esp + 0x58]
push eax
mov edx, dword [esp + 0x68]
push ecx
mov eax, dword [esp + 0x68]
push edx
push eax
mov ecx, 0x580e30
call fcn.004bb0c0
jmp 0x49cd51
fld dword [esp + 0x80]
fmul dword [0x550b48]
fld dword [esp + 0x64]
fmul dword [0x550b48]
sub esp, 8
fxch st(1)
fstp qword [esp]
sub esp, 8
fstp qword [esp]
push str.____Unsupported_building_size___d_x__d_.
push ebx
call fcn.00514d90
add esp, 0x18
mov eax, dword [esp + 0x50]
mov ecx, dword [ebx + 0x194]
inc eax
mov dword [esp + 0x50], eax
cmp ecx, eax
jg 0x49c66d
cmp ebp, 3
je 0x49cd7a
cmp ebp, 4
je 0x49cd7a
test ebp, ebp
jne 0x49ce99
mov eax, dword [ebx + 0x100]
mov ecx, dword [eax + 0xf0]
mov edx, dword [ecx + 0x3c]
mov eax, dword [edx + 0x28]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x94]
nop
mov edi, dword [eax]
mov esi, dword [ecx]
cmp edi, esi
jl 0x49ce99
lea eax, [esi + esi*2]
shl eax, 3
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov edi, dword [eax + 4]
mov edx, dword [ecx + 4]
cmp edx, edi
jl 0x49ce7e
mov ecx, dword [esp + 0x18]
push edi
push esi
call fcn.0042f3d0
xor ecx, ecx
mov cl, al
cmp ecx, 1
jne 0x49ce44
lea ecx, [esi - 2]
lea eax, [edi - 2]
lea edx, [esp + 0x10]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
push edx
mov dword [esp + 0x24], ecx
mov ecx, ebx
mov dword [esp + 0x28], eax
call fcn.0049d020
lea ecx, [esp + 0x20]
push ecx
mov ecx, ebx
call fcn.0049d020
push 0xff
mov ecx, 0x580e30
push edi
push esi
call fcn.004badc0
mov ecx, dword [esp + 0x24]
push 0xa
mov edx, dword [esp + 0x24]
push ecx
mov eax, dword [esp + 0x1c]
push edx
mov ecx, dword [esp + 0x1c]
push eax
push ecx
mov ecx, 0x580e30
call fcn.004bb0c0
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x8d8c]
mov eax, dword [esp + 0x48]
mov ecx, dword [edx + edi*4]
mov al, byte [ecx + eax + 5]
mov cl, 5
shr al, 5
imul cl
push eax
mov ecx, 0x580e30
push edi
push esi
inc edi
call fcn.004baeb0
mov ecx, dword [esp + 0x98]
cmp dword [ecx + 4], edi
jge 0x49cdd1
mov eax, dword [esp + 0x48]
inc esi
add eax, 0x18
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x48], eax
cmp dword [ecx], esi
jge 0x49cdb5
cmp ebp, 3
je 0x49ceb5
cmp ebp, 4
je 0x49ceb5
test ebp, ebp
je 0x49ceb5
cmp ebp, 6
je 0x49ceb5
cmp ebp, 5
jne 0x49cf71
xor edi, edi
mov eax, dword [ebx + 0x1fc]
cmp eax, edi
jle 0x49cf71
xor esi, esi
mov ecx, dword [ebx + 0x200]
add ecx, esi
cmp dword [ecx], 0xffffffff
je 0x49cf61
mov eax, dword [ebx + 0x100]
mov eax, dword [eax + 0xf0]
movsx edx, word [eax + 0x4a]
xor eax, eax
mov al, byte [ecx + 0xa]
cmp edx, eax
jne 0x49cf61
xor eax, eax
mov al, byte [ecx + 5]
sub eax, 4
mov dword [esp + 0x10], eax
xor eax, eax
mov al, byte [ecx + 6]
lea ecx, [esp + 0x10]
sub eax, 4
push ecx
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.0049d020
mov ecx, dword [ebx + 0x200]
xor eax, eax
add ecx, esi
mov al, byte [ecx + 7]
add eax, 4
mov dword [esp + 0x20], eax
xor eax, eax
mov al, byte [ecx + 8]
lea ecx, [esp + 0x20]
add eax, 4
push ecx
mov ecx, ebx
mov dword [esp + 0x28], eax
call fcn.0049d020
mov ecx, dword [esp + 0x24]
push 0x10
mov edx, dword [esp + 0x24]
push ecx
mov eax, dword [esp + 0x1c]
push edx
mov ecx, dword [esp + 0x1c]
push eax
push ecx
mov ecx, 0x580e30
call fcn.004baf30
add esi, 0x18
inc edi
cmp dword [ebx + 0x1fc], edi
jg 0x49cec7
test ebp, ebp
jne 0x49cf8b
push 0x580e30
mov ecx, dword [ebx + 0x100]
add ecx, 0x1146c
call fcn.004889c0
mov eax, 1
cmp ebp, 4
jne 0x49cf97
xor eax, eax
lea ecx, [esp + 0x78]
push 1
push eax
push 1
lea eax, [esp + 0x7c]
push 0xff
push eax
xor esi, esi
push ecx
mov ecx, 0x580e30
call fcn.004bb1b0
test ebp, ebp
je 0x49d008
xor edi, edi
mov eax, dword [ebx + 0x1f4]
cmp eax, esi
jle 0x49d008
mov ecx, dword [ebx + 0x1f8]
mov edx, dword [esp + 0x8c]
add ecx, esi
cmp dword [ecx], edx
jne 0x49cffc
mov al, byte [ecx + 4]
cmp al, 2
jne 0x49cffc
push 0xff
xor eax, eax
mov al, byte [ecx + 6]
push eax
xor eax, eax
mov al, byte [ecx + 5]
mov ecx, 0x580e30
push eax
call fcn.004badc0
add esi, 8
inc edi
cmp dword [ebx + 0x1f4], edi
jg 0x49cfc7
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x74
ret 0x14