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

Disassembly:
jmp 0x4dbcc0
sub esp, 0xd0
mov eax, dword [0x7af4f8]
xor eax, esp
mov dword [esp + 0xcc], eax
push esi
mov esi, dword [esp + 0xd8]
push edi
mov edi, dword [esi + 0x538]
mov dword [esp + 8], edi
test edi, edi
je 0x4dce78
lea ecx, [esp + 0x14]
call fcn.0040b5f0
push 0
lea eax, [esp + 0x18]
push eax
push 0xd4
mov ecx, 0x7c20a0
call fcn.00404bf1
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov dword [esi + 0x178], ecx
mov ecx, dword [esp + 0x24]
mov dword [esi + 0x17c], edx
mov edx, dword [esp + 0x28]
mov dword [esi + 0x180], eax
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x184], ecx
mov ecx, dword [esp + 0x30]
mov dword [esi + 0x190], ecx
lea ecx, [esp + 0x54]
mov dword [esi + 0x188], edx
mov dword [esi + 0x18c], eax
call fcn.0040b5f0
push 0
lea edx, [esp + 0x58]
push edx
push 0x3f
mov ecx, 0x7c20a0
call fcn.00404bf1
push 0x1e1e1e
lea eax, [esp + 0x58]
push eax
push 0xffffffffffffffff
push 0x65ca06
mov ecx, esi
call fcn.0040be4c
lea ecx, [esp + 0x34]
mov dword [esi + 0x170], 1
call fcn.0040b5f0
push 0
lea ecx, [esp + 0x38]
push ecx
push 0xd5
mov ecx, 0x7c20a0
call fcn.00404bf1
lea eax, [esi + 0x194]
test eax, eax
je 0x4dbdc3
push eax
mov ecx, esi
call fcn.0040c482
push ebx
push ebp
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
add edi, 0x1e
push edi
lea edx, [esp + 0xa0]
push 0x65ca08
push edx
call ebp
mov eax, dword [esi]
mov edx, dword [eax + 0xbc]
add esp, 0xc
mov ecx, esi
call edx
push 9
push 0
test ax, ax
jne 0x4dbe05
push 0xffffff
lea eax, [esp + 0xa8]
push eax
jmp 0x4dbe12
push 0xcc92f8
lea ecx, [esp + 0xa8]
push ecx
mov ecx, esi
call fcn.0040cb21
push 0
push 0
push 0xffffff
push 0x65ca07
mov ecx, esi
call fcn.0040cb21
mov edx, dword [esi + 0x538]
mov ecx, dword [0x7c2d24]
mov ebx, 8
cmp word [edx + 0x3b], bx
jne 0x4dbe4c
call fcn.0040df0d
jmp 0x4dbe51
call fcn.0040be60
movzx edi, ax
mov eax, dword [esp + 0x10]
movzx eax, word [eax + 0x3d]
dec eax
cmp eax, 5
ja case.default.0x4dbe66
jmp dword [eax*4 + 0x4dce94]
push 0x959
mov ecx, 0x7c5388
call fcn.00408599
push eax
push 0x956
mov ecx, 0x7c5388
call fcn.00408599
push eax
push 0x65ca10
lea ecx, [esp + 0xa8]
push ecx
call fcn.00611035
add esp, 0x10
push 7
push 0
push 0xffffb0
lea edx, [esp + 0xa8]
push edx
jmp 0x4dbfc4
push 0x95a
mov ecx, 0x7c5388
call fcn.00408599
push eax
push 0x956
mov ecx, 0x7c5388
call fcn.00408599
push eax
push 0x65ca18
lea eax, [esp + 0xa8]
push eax
call fcn.00611035
add esp, 0x10
push 7
push 0
push 0xffffb0
lea ecx, [esp + 0xa8]
push ecx
jmp 0x4dbfc4
push 0x95b
mov ecx, 0x7c5388
call fcn.00408599
push eax
push 0x956
mov ecx, 0x7c5388
call fcn.00408599
push eax
push 0x65ca20
jmp 0x4dbfa3
push 0x95c
mov ecx, 0x7c5388
call fcn.00408599
push eax
push 0x956
mov ecx, 0x7c5388
call fcn.00408599
push eax
push 0x65ca28
jmp 0x4dbe92
push 0x95d
mov ecx, 0x7c5388
call fcn.00408599
push eax
push 0x956
mov ecx, 0x7c5388
call fcn.00408599
push eax
push 0x65ca30
jmp 0x4dbedd
push 0x95e
mov ecx, 0x7c5388
call fcn.00408599
push eax
push 0x956
mov ecx, 0x7c5388
call fcn.00408599
push eax
push 0x65ca38
lea edx, [esp + 0xa8]
push edx
call fcn.00611035
add esp, 0x10
push 7
push 0
push 0xffffb0
lea eax, [esp + 0xa8]
push eax
mov ecx, esi
call fcn.0040cb21
mov ecx, dword [esp + 0x10]
movzx eax, word [ecx + 0xc7]
cmp eax, 7
ja case.0x4dbfdf.6
jmp dword [eax*4 + 0x4dceac]
push 0x95f
mov ecx, 0x7c5388
call fcn.00408599
push eax
push 0x956
mov ecx, 0x7c5388
call fcn.00408599
push eax
push 0x65ca40
jmp 0x4dc146
push 0x960
mov ecx, 0x7c5388
call fcn.00408599
push eax
push 0x956
mov ecx, 0x7c5388
call fcn.00408599
push eax
push 0x65ca48
lea ecx, [esp + 0xa8]
push ecx
call fcn.00611035
add esp, 0x10
push 7
push 0
push 0xffffb0
lea edx, [esp + 0xa8]
push edx
jmp 0x4dc167
push 0x961
mov ecx, 0x7c5388
call fcn.00408599
push eax
push 0x956
mov ecx, 0x7c5388
call fcn.00408599
push eax
push 0x65ca50
lea eax, [esp + 0xa8]
push eax
call fcn.00611035
add esp, 0x10
push 7
push 0
push 0xffffb0
lea ecx, [esp + 0xa8]
push ecx
jmp 0x4dc167
push 0x962
mov ecx, 0x7c5388
call fcn.00408599
push eax
push 0x956
mov ecx, 0x7c5388
call fcn.00408599
push eax
push 0x65ca58
jmp 0x4dc146
push 0x963
mov ecx, 0x7c5388
call fcn.00408599
push eax
push 0x956
mov ecx, 0x7c5388
call fcn.00408599
push eax
push 0x65ca60
jmp 0x4dc035
push 0x964
mov ecx, 0x7c5388
call fcn.00408599
push eax
push 0x956
mov ecx, 0x7c5388
call fcn.00408599
push eax
push 0x65ca68
jmp 0x4dc080
push 0x965
mov ecx, 0x7c5388
call fcn.00408599
push eax
push 0x956
mov ecx, 0x7c5388
call fcn.00408599
push eax
push 0x65ca70
lea edx, [esp + 0xa8]
push edx
call fcn.00611035
add esp, 0x10
push 7
push 0
push 0xffffb0
lea eax, [esp + 0xa8]
push eax
mov ecx, esi
call fcn.0040cb21
mov ecx, dword [esp + 0x10]
movzx eax, word [ecx + 0x3b]
sub eax, 3
je 0x4dc1ca
dec eax
jne 0x4dc217
push 0x966
mov ecx, 0x7c5388
call fcn.00408599
push eax
push 0x956
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea edx, [esp + 0xa4]
push 0x65ca78
push edx
call fcn.00611035
add esp, 0x10
push 7
push 0
push 0xffffb0
lea eax, [esp + 0xa8]
push eax
jmp 0x4dc210
push 0x967
mov ecx, 0x7c5388
call fcn.00408599
push eax
push 0x956
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea ecx, [esp + 0xa4]
push 0x65ca80
push ecx
call fcn.00611035
add esp, 0x10
push 7
push 0
push 0xffffb0
lea edx, [esp + 0xa8]
push edx
mov ecx, esi
call fcn.0040cb21
push 0x958
mov ecx, 0x7c5388
call fcn.00408599
push eax
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + 0x31]
push ecx
push 0x956
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea edx, [esp + 0xa8]
push 0x65ca88
push edx
call ebp
mov eax, dword [0x7c2d24]
mov cx, word [eax + 0x43c]
mov edx, dword [esp + 0x24]
add esp, 0x14
push 7
push 0
cmp cx, word [edx + 0x31]
jae 0x4dc27b
push 0xe61414
lea eax, [esp + 0xa8]
push eax
jmp 0x4dc288
push 0xffffff
lea ecx, [esp + 0xa8]
push ecx
mov ecx, esi
call fcn.0040cb21
push 0
push 0
push 0xffffff
push 0x65ca0d
mov ecx, esi
call fcn.0040cb21
push 0
lea edx, [esp + 0x40]
push edx
push 0xffffb0
push 0x65ca0e
mov ecx, esi
call fcn.0040cb21
mov eax, dword [esp + 0x10]
movzx ecx, word [eax + 0x31]
push ecx
push 0x972
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea edx, [esp + 0xa4]
push edx
call ebp
mov eax, dword [esp + 0x1c]
movzx eax, word [eax + 0x3d]
dec eax
add esp, 0xc
cmp eax, 5
ja case.default.0x4dc2f4
jmp dword [eax*4 + 0x4dcecc]
push 0
mov ecx, 0x7c5388
push 0
cmp di, 1
jne 0x4dc319
push 0xffffff
push 0x1d1
jmp 0x4dc3ea
push 0xe61414
push 0x1d1
jmp 0x4dc3ea
push 0
mov ecx, 0x7c5388
push 0
cmp di, 2
jne 0x4dc346
push 0xffffff
push 0x1d2
jmp 0x4dc3ea
push 0xe61414
push 0x1d2
jmp 0x4dc3ea
push 0
mov ecx, 0x7c5388
push 0
cmp di, 3
jne 0x4dc370
push 0xffffff
push 0x1d3
jmp 0x4dc3ea
push 0xe61414
push 0x1d3
jmp 0x4dc3ea
push 0
mov ecx, 0x7c5388
push 0
cmp di, 4
jne 0x4dc397
push 0xffffff
push 0x1d4
jmp 0x4dc3ea
push 0xe61414
push 0x1d4
jmp 0x4dc3ea
push 0
mov ecx, 0x7c5388
push 0
cmp di, 5
jne 0x4dc3be
push 0xffffff
push 0x1d5
jmp 0x4dc3ea
push 0xe61414
push 0x1d5
jmp 0x4dc3ea
push 0
mov ecx, 0x7c5388
push 0
cmp di, 6
jne 0x4dc3e0
push 0xffffff
jmp 0x4dc3e5
push 0xe61414
push 0x1d6
call fcn.00408599
push eax
mov ecx, esi
call fcn.0040cb21
mov ecx, dword [esi + 0x538]
cmp word [ecx + 0x3b], bx
push 0
push 0
mov ecx, 0x7c5388
jne 0x4dc433
mov edx, dword [0x7c2d24]
cmp dword [edx + 0x404], 1
jne 0x4dc427
push 0xffffff
push 0x677
jmp 0x4dc452
push 0xe61414
push 0x677
jmp 0x4dc452
mov eax, dword [0x7c2d24]
cmp dword [eax + 0x404], 1
jne 0x4dc448
push 0xe61414
jmp 0x4dc44d
push 0xffffff
push 0x678
call fcn.00408599
push eax
mov ecx, esi
call fcn.0040cb21
mov eax, dword [esp + 0x10]
cmp word [eax + 0x3b], bx
jne 0x4dc4ae
cmp word [eax + 0x3d], 0
je 0x4dc4ae
mov ecx, dword [0x7c2d24]
call fcn.0040be60
mov ecx, dword [0x7c2d24]
mov di, ax
call fcn.0040df0d
cmp di, ax
je 0x4dc4ae
push 0
push 0
push 0xe61414
push 0x67c
mov ecx, 0x7c5388
call fcn.00408599
push eax
mov ecx, esi
call fcn.0040cb21
mov edx, dword [esi]
mov eax, dword [edx + 0xa8]
mov ecx, esi
call eax
movzx eax, al
cmp eax, 0xc
jge 0x4dc584
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx + eax*4 + 0x7f]
mov dword [esp + 0x14], edi
test edi, edi
je 0x4dc634
mov edx, dword [esi]
mov eax, dword [edx + 0xa8]
mov ecx, esi
call eax
mov ecx, esi
cmp al, 0xc
jae 0x4dc590
mov edx, dword [esi]
mov eax, dword [edx + 0xa0]
call eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
test eax, eax
jns 0x4dc50c
fadd dword [0x64ba74]
fmul qword [0x64ba48]
mov edx, dword [esi]
mov eax, dword [edx + 0xa0]
mov ecx, esi
fidiv dword [esp + 0x14]
fstp dword [esp + 0x14]
call eax
lea ecx, [edi - 1]
cmp eax, ecx
je 0x4dc548
fld dword [esp + 0x14]
fcomp qword [0x6571a0]
fnstsw ax
test ah, 0x41
jne 0x4dc548
fld dword [0x657198]
fstp dword [esp + 0x14]
mov edx, dword [esi]
fld dword [esp + 0x14]
mov eax, dword [edx + 0xa8]
sub esp, 8
mov ecx, esi
fstp qword [esp]
call eax
movzx ecx, al
push ecx
push 0x1d7
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea edx, [esp + 0xac]
push edx
call fcn.00611035
add esp, 0x14
jmp 0x4dc5db
or edi, 0xffffffff
mov dword [esp + 0x14], edi
jmp 0x4dc4da
mov eax, dword [esi]
mov edx, dword [eax + 0x78]
call edx
movzx eax, ax
push eax
call fcn.0040989f
mov ecx, eax
call fcn.004057a4
test eax, eax
jne 0x4dc5db
mov edx, dword [esi]
mov eax, dword [edx + 0xa8]
mov ecx, esi
call eax
movzx ecx, al
push ecx
push 0x195
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea edx, [esp + 0xa4]
push edx
call fcn.00611035
add esp, 0xc
push 0
push 0
push 0xe6e826
lea eax, [esp + 0xa8]
push eax
mov ecx, esi
call fcn.0040cb21
cmp dword [0x7c3ed4], 0
je 0x4dc634
mov edx, dword [esi]
mov eax, dword [edx + 0xa0]
push edi
mov ecx, esi
call eax
push eax
lea ecx, [esp + 0xa4]
push 0x65ca90
push ecx
call ebp
add esp, 0x10
push 0
push 0
push 0xe6e826
lea edx, [esp + 0xa8]
push edx
mov ecx, esi
call fcn.0040cb21
mov eax, dword [esi]
mov edx, dword [eax + 0xa8]
mov ecx, esi
call edx
test al, al
je 0x4dc697
mov eax, dword [esi]
mov edx, dword [eax + 0xa8]
mov ecx, esi
call edx
mov ebx, dword [esp + 0x10]
movzx eax, al
movzx eax, word [ebx + eax*2 + 0xad]
push eax
push 0x1d8
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea ecx, [esp + 0xa4]
push ecx
call ebp
add esp, 0xc
push 0
push 0
push 0xe6e826
lea edx, [esp + 0xa8]
push edx
mov ecx, esi
call fcn.0040cb21
jmp 0x4dc69b
mov ebx, dword [esp + 0x10]
mov eax, dword [esi]
mov edx, dword [eax + 0xb8]
mov ecx, esi
call edx
test eax, eax
je 0x4dc6ed
mov eax, dword [esi]
mov edx, dword [eax + 0xb8]
mov ecx, esi
call edx
push eax
push 0x246
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea eax, [esp + 0x84]
push eax
call ebp
add esp, 0xc
push 0
push 0
push 0xffc800
lea ecx, [esp + 0x88]
push ecx
mov ecx, esi
call fcn.0040cb21
cmp word [ebx + 0x86b], 0
je 0x4dc792
push 0
push 0
push 0xe6e826
push 0x54f
mov ecx, 0x7c5388
call fcn.00408599
push eax
mov ecx, esi
call fcn.0040cb21
test byte [0x7b1484], 1
movzx edi, word [ebx + 0x86b]
jne 0x4dc749
or dword [0x7b1484], 1
mov ecx, 0x7b12c8
call fcn.0040789c
push 0x404e85
call fcn.0061148a
add esp, 4
push edi
mov ecx, 0x7b12c8
call fcn.0040a650
test eax, eax
je 0x4dc792
movzx edx, word [eax + 6]
push edx
push 0x550
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea eax, [esp + 0x84]
push eax
call ebp
add esp, 0xc
push 0
push 0
push 0xe6e826
lea ecx, [esp + 0x88]
push ecx
mov ecx, esi
call fcn.0040cb21
test byte [0x7b1484], 1
jne 0x4dc7b9
or dword [0x7b1484], 1
mov ecx, 0x7b12c8
call fcn.0040789c
push 0x404e85
call fcn.0061148a
add esp, 4
mov edx, dword [esi]
mov eax, dword [edx + 0xbc]
mov ecx, esi
call eax
movzx ecx, ax
xor edx, edx
mov eax, ecx
div dword [0x7b13a8]
mov eax, dword [0x7b13ac]
mov edx, dword [eax + edx*4]
test edx, edx
je 0x4dce17
cmp dword [edx], ecx
je 0x4dc7f2
mov edx, dword [edx + 0xc]
test edx, edx
jne 0x4dc7e2
jmp 0x4dce17
mov edi, dword [edx + 4]
test edi, edi
je 0x4dce17
mov eax, dword [edi + 0x1e]
test eax, eax
jle 0x4dc83a
push eax
push 0x524
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea ecx, [esp + 0x84]
push ecx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea edx, [esp + 0x88]
push edx
mov ecx, esi
call fcn.0040cb21
mov eax, dword [edi + 0x1e]
test eax, eax
jns 0x4dc879
neg eax
push eax
push 0x528
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea eax, [esp + 0x84]
push eax
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea ecx, [esp + 0x88]
push ecx
mov ecx, esi
call fcn.0040cb21
fldz
fcomp dword [edi + 0x22]
fnstsw ax
test ah, 5
jp 0x4dc8cf
fld dword [edi + 0x22]
fmul qword [0x64ba48]
fadd qword [0x64eed0]
call fcn.00611200
push eax
push 0x525
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea edx, [esp + 0x84]
push edx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea eax, [esp + 0x88]
push eax
mov ecx, esi
call fcn.0040cb21
fldz
fcomp dword [edi + 0x22]
fnstsw ax
test ah, 0x41
jne 0x4dc925
fld dword [edi + 0x22]
fmul qword [0x64ba48]
fsubr qword [0x64eed0]
call fcn.00611200
push eax
push 0x529
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea ecx, [esp + 0x84]
push ecx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea edx, [esp + 0x88]
push edx
mov ecx, esi
call fcn.0040cb21
fldz
fcomp dword [edi + 0x26]
fnstsw ax
test ah, 5
jp 0x4dc97b
fld dword [edi + 0x26]
fmul qword [0x64ba48]
fadd qword [0x64eed0]
call fcn.00611200
push eax
push 0x526
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea eax, [esp + 0x84]
push eax
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea ecx, [esp + 0x88]
push ecx
mov ecx, esi
call fcn.0040cb21
fldz
fcomp dword [edi + 0x26]
fnstsw ax
test ah, 0x41
jne 0x4dc9d1
fld dword [edi + 0x26]
fmul qword [0x64ba48]
fsubr qword [0x64eed0]
call fcn.00611200
push eax
push 0x52a
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea edx, [esp + 0x84]
push edx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea eax, [esp + 0x88]
push eax
mov ecx, esi
call fcn.0040cb21
fld dword [edi + 0x2a]
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x4dca23
fld dword [edi + 0x2a]
fmul qword [0x64ba48]
call fcn.00611200
push eax
push 0x6cc
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea ecx, [esp + 0x84]
push ecx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea edx, [esp + 0x88]
push edx
mov ecx, esi
call fcn.0040cb21
fldz
fcomp dword [edi + 0x2e]
fnstsw ax
test ah, 5
jp 0x4dca79
fld dword [edi + 0x2e]
fmul qword [0x64ba48]
fadd qword [0x64eed0]
call fcn.00611200
push eax
push 0x527
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea eax, [esp + 0x84]
push eax
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea ecx, [esp + 0x88]
push ecx
mov ecx, esi
call fcn.0040cb21
fldz
fcomp dword [edi + 0x2e]
fnstsw ax
test ah, 0x41
jne 0x4dcacf
fld dword [edi + 0x2e]
fmul qword [0x64ba48]
fsubr qword [0x64eed0]
call fcn.00611200
push eax
push 0x52b
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea edx, [esp + 0x84]
push edx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea eax, [esp + 0x88]
push eax
mov ecx, esi
call fcn.0040cb21
mov eax, dword [edi + 0xa]
test eax, eax
jle 0x4dcb0c
push eax
push 0x53c
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea ecx, [esp + 0x84]
push ecx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea edx, [esp + 0x88]
push edx
mov ecx, esi
call fcn.0040cb21
mov eax, dword [edi + 0xa]
test eax, eax
jns 0x4dcb4b
neg eax
push eax
push 0x53d
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea eax, [esp + 0x84]
push eax
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea ecx, [esp + 0x88]
push ecx
mov ecx, esi
call fcn.0040cb21
mov eax, dword [edi + 0xe]
test eax, eax
jle 0x4dcb88
push eax
push 0x53e
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea edx, [esp + 0x84]
push edx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea eax, [esp + 0x88]
push eax
mov ecx, esi
call fcn.0040cb21
mov eax, dword [edi + 0xe]
test eax, eax
jns 0x4dcbc7
neg eax
push eax
push 0x53f
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea ecx, [esp + 0x84]
push ecx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea edx, [esp + 0x88]
push edx
mov ecx, esi
call fcn.0040cb21
mov eax, dword [edi + 0x12]
test eax, eax
jle 0x4dcc04
push eax
push 0x540
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea eax, [esp + 0x84]
push eax
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea ecx, [esp + 0x88]
push ecx
mov ecx, esi
call fcn.0040cb21
mov eax, dword [edi + 0x12]
test eax, eax
jns 0x4dcc43
neg eax
push eax
push 0x541
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea edx, [esp + 0x84]
push edx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea eax, [esp + 0x88]
push eax
mov ecx, esi
call fcn.0040cb21
fldz
fcomp dword [edi + 0x16]
fnstsw ax
test ah, 5
jp 0x4dcc99
fld dword [edi + 0x16]
fmul qword [0x64ba48]
fadd qword [0x64eed0]
call fcn.00611200
push eax
push 0x544
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea ecx, [esp + 0x84]
push ecx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea edx, [esp + 0x88]
push edx
mov ecx, esi
call fcn.0040cb21
fldz
fcomp dword [edi + 0x16]
fnstsw ax
test ah, 0x41
jne 0x4dccef
fld dword [edi + 0x16]
fmul qword [0x64ba48]
fsubr qword [0x64eed0]
call fcn.00611200
push eax
push 0x545
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea eax, [esp + 0x84]
push eax
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea ecx, [esp + 0x88]
push ecx
mov ecx, esi
call fcn.0040cb21
fldz
fcomp dword [edi + 0x1a]
fnstsw ax
test ah, 5
jp 0x4dcd45
fld dword [edi + 0x1a]
fmul qword [0x64ba48]
fadd qword [0x64eed0]
call fcn.00611200
push eax
push 0x52c
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea edx, [esp + 0x84]
push edx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea eax, [esp + 0x88]
push eax
mov ecx, esi
call fcn.0040cb21
fldz
fcomp dword [edi + 0x1a]
fnstsw ax
test ah, 0x41
jne 0x4dcd9b
fld dword [edi + 0x1a]
fmul qword [0x64ba48]
fsubr qword [0x64eed0]
call fcn.00611200
push eax
push 0x52d
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea ecx, [esp + 0x84]
push ecx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea edx, [esp + 0x88]
push edx
mov ecx, esi
call fcn.0040cb21
mov eax, dword [edi + 0x32]
test eax, eax
jle 0x4dcdd8
push eax
push 0x542
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea eax, [esp + 0x84]
push eax
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea ecx, [esp + 0x88]
push ecx
mov ecx, esi
call fcn.0040cb21
mov edi, dword [edi + 0x32]
test edi, edi
jns 0x4dce17
neg edi
push edi
push 0x543
mov ecx, 0x7c5388
call fcn.00408599
push eax
lea edx, [esp + 0x84]
push edx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea eax, [esp + 0x88]
push eax
mov ecx, esi
call fcn.0040cb21
push 0
push 0
push 0xffffff
push 0x65ca0f
mov ecx, esi
call fcn.0040cb21
push 0
lea ecx, [esp + 0x40]
push ecx
push 0xffffb0
push 0x65ca16
mov ecx, esi
call fcn.0040cb21
movzx edx, word [ebx + 0x2f]
push 1
push 0xc8d7aa
push edx
push esi
mov ecx, 0x7c3b98
call fcn.00404345
lea ecx, [esp + 0x3c]
call fcn.00409b24
lea ecx, [esp + 0x5c]
call fcn.00409b24
lea ecx, [esp + 0x1c]
call fcn.00409b24
pop ebp
pop ebx
mov ecx, dword [esp + 0xd4]
pop edi
pop esi
xor ecx, esp
call fcn.006111ee
add esp, 0xd0
ret 4