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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x626cef
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2cc
push ebx
push esi
push edi
lea ecx, [esp + 0x8c]
call fcn.004b1a40
mov eax, dword [ebp + 8]
push 0x69b66c
mov dword [esp + 0x2e4], 0
mov ecx, dword [eax + 0x58]
call fcn.0048ca20
mov edi, eax
test edi, edi
mov dword [esp + 0x4c], edi
je 0x4d2c3f
mov ebx, dword [ebp + 0xc]
lea ecx, [esp + 0x88]
push ecx
push 0x69b744
push ebx
call fcn.004ae830
add esp, 8
mov ecx, eax
call fcn.0048add0
lea ecx, [esp + 0x88]
mov byte [esp + 0x2e0], 1
call fcn.00489940
test eax, eax
je 0x4d2ab8
lea edx, [esp + 0x10]
push 0x69b744
push edx
mov ecx, edi
call fcn.0048c7f0
push eax
lea ecx, [esp + 0x8c]
mov byte [esp + 0x2e4], 2
call fcn.00489a30
lea ecx, [esp + 0x10]
mov byte [esp + 0x2e0], 1
call fcn.00489810
lea eax, [esp + 0x88]
lea ecx, [esp + 0x26c]
push eax
call fcn.004aa630
push 2
push 0x69bc50
lea ecx, [esp + 0x274]
call fcn.004aa930
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x270]
call fcn.004aa830
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x14]
mov byte [esp + 0x2e0], 3
call fcn.00489930
push eax
lea edx, [esp + 0x14]
push esi
push edx
call fcn.004a9360
add esp, 0xc
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x2e4], 4
call fcn.00489a30
lea ecx, [esp + 0x10]
mov byte [esp + 0x2e0], 3
call fcn.00489810
lea eax, [esp + 0x10]
lea ecx, [esp + 0x26c]
push eax
call fcn.004aa830
mov eax, dword [eax]
mov byte [esp + 0x2e0], 5
push eax
call fcn.00486950
fstp dword [esp + 0x60]
add esp, 4
lea ecx, [esp + 0x10]
mov byte [esp + 0x2e0], 3
call fcn.00489810
lea ecx, [esp + 0x88]
lea edx, [esp + 0x2b4]
push ecx
push edx
call fcn.004d4c40
mov eax, dword [esp + 0x1c]
add esp, 8
mov ecx, edi
push eax
push 0x690768
push 0x69bc4c
call fcn.0048ca20
mov ecx, eax
call fcn.0048ca20
mov ecx, eax
call fcn.0048ca20
test eax, eax
mov dword [esp + 0x60], eax
jne 0x4d2c07
lea ecx, [esp + 0x14]
mov byte [esp + 0x2e0], 1
call fcn.00489810
lea ecx, [esp + 0x88]
mov byte [esp + 0x2e0], 0
call fcn.00489810
lea ecx, [esp + 0x8c]
mov dword [esp + 0x2e0], 0xffffffff
call fcn.004b1a60
xor eax, eax
mov ecx, dword [esp + 0x2d8]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 8]
push eax
call fcn.004a59f0
xor edi, edi
mov dword [esp + 0x50], eax
cmp eax, edi
jne 0x4d2c6d
lea ecx, [esp + 0x14]
mov byte [esp + 0x2e0], 1
call fcn.00489810
lea ecx, [esp + 0x88]
mov byte [esp + 0x2e0], 0
call fcn.00489810
lea ecx, [esp + 0x8c]
mov dword [esp + 0x2e0], 0xffffffff
call fcn.004b1a60
xor eax, eax
mov ecx, dword [esp + 0x2d8]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [eax + 8]
lea edx, [esp + 0xb4]
mov dword [esp + 0x30], ecx
push 0x68f604
push edx
mov ecx, ebx
call fcn.0048ca90
push 0x69bde8
push 0x69c470
mov ecx, ebx
call fcn.0048ca20
mov ecx, eax
call fcn.0048c910
mov ecx, dword [0x646e78]
mov dword [esp + 0x84], 0
mov edx, ecx
mov dword [esp + 0x1f0], ecx
mov dword [esp + 0x1e4], edx
mov ecx, 0x168
cdq
idiv ecx
mov dword [esp + 0x80], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x1f4], 0
mov dword [esp + 0x1ec], 0
mov dword [esp + 0x1e8], 0
cmp edx, 0xb4
jg 0x4d2ed4
je 0x4d2e31
cmp edx, edi
je 0x4d2dd2
cmp edx, 0x5a
jne 0x4d2f84
fld dword [esp + 0xb8]
fsub dword [esp + 0xb4]
mov ecx, 6
lea esi, [esp + 0x34]
lea edi, [esp + 0x1e4]
mov dword [esp + 0x1c], 0
fld st(0)
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x34], 0
fstp dword [esp + 0x44]
fld dword [esp + 0xc0]
fsub dword [esp + 0xbc]
mov dword [esp + 0x38], 0x3f800000
mov dword [esp + 0x3c], 0xbf800000
mov dword [esp + 0x40], 0
mov dword [esp + 0x48], 0
rep movsd dword es:[edi], dword [esi]
fstp dword [esp + 0x20]
fstp dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x24], 0
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], edx
jmp 0x4d2f82
fld dword [esp + 0xc0]
fsub dword [esp + 0xbc]
fld dword [esp + 0xb8]
fsub dword [esp + 0xb4]
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x24], 0
mov edx, dword [esp + 0x24]
mov dword [esp + 0x78], eax
mov dword [esp + 0x80], edx
fstp dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
fstp dword [esp + 0x28]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x84], eax
jmp 0x4d2f84
fld dword [esp + 0xc0]
fsub dword [esp + 0xbc]
mov ecx, 6
lea esi, [esp + 0x34]
lea edi, [esp + 0x1e4]
mov dword [esp + 0x34], 0xbf800000
fld st(0)
fld dword [esp + 0xb8]
fsub dword [esp + 0xb4]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0xbf800000
mov dword [esp + 0x1c], 0
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x24]
fst dword [esp + 0x10]
fstp dword [esp + 0x44]
mov dword [esp + 0x80], eax
fstp dword [esp + 0x48]
fld dword [esp + 0x10]
rep movsd dword es:[edi], dword [esi]
fstp dword [esp + 0x20]
fstp dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x84], ecx
jmp 0x4d2f82
cmp edx, 0x10e
jne 0x4d2f84
fld dword [esp + 0xc0]
fsub dword [esp + 0xbc]
mov ecx, 6
lea esi, [esp + 0x34]
lea edi, [esp + 0x1e4]
mov dword [esp + 0x1c], 0
fld st(0)
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x34], 0
fstp dword [esp + 0x48]
fld dword [esp + 0xb8]
fsub dword [esp + 0xb4]
mov dword [esp + 0x38], 0xbf800000
mov dword [esp + 0x3c], 0x3f800000
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
rep movsd dword es:[edi], dword [esi]
fstp dword [esp + 0x10]
fstp dword [esp + 0x20]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], eax
xor edi, edi
push 0x697688
push 0x69bdf4
mov ecx, ebx
mov dword [esp + 0xa4], edi
mov dword [esp + 0x5c], 0x3f800000
call fcn.0048ca20
mov ecx, eax
call fcn.0048cb90
test eax, eax
je 0x4d2fcb
push 0x697688
push 0x69bdf4
mov ecx, ebx
call fcn.0048ca20
mov ecx, eax
call fcn.0048c990
fstp dword [esp + 0x54]
push 0x69bdd0
push 0x69c470
mov ecx, ebx
mov dword [esp + 0x254], edi
mov dword [esp + 0x264], 0
mov dword [esp + 0x260], 0
mov dword [esp + 0x25c], 0
mov dword [esp + 0x258], 0
mov dword [esp + 0x240], edi
mov dword [esp + 0x250], 0
mov dword [esp + 0x24c], 0
mov dword [esp + 0x248], 0
mov dword [esp + 0x244], 0
call fcn.0048ca20
mov ecx, eax
call fcn.0048ca50
cmp eax, edi
je 0x4d3070
lea ecx, [esp + 0x210]
push eax
push ecx
call fcn.004d50c0
mov ecx, 5
mov esi, eax
lea edi, [esp + 0x254]
add esp, 8
rep movsd dword es:[edi], dword [esi]
xor edi, edi
push 0x6a22b0
push 0x69c470
mov ecx, ebx
call fcn.0048ca20
mov ecx, eax
call fcn.0048ca50
cmp eax, edi
je 0x4d30af
lea edx, [esp + 0x210]
push eax
push edx
call fcn.004d50c0
mov ecx, 5
mov esi, eax
lea edi, [esp + 0x240]
add esp, 8
rep movsd dword es:[edi], dword [esi]
xor edi, edi
push 0x68f4c0
push 0x69bdf4
mov ecx, ebx
mov dword [esp + 0xd8], 3
mov dword [esp + 0xdc], edi
mov dword [esp + 0xe0], edi
call fcn.0048ca20
mov ecx, eax
call fcn.0048ca50
mov esi, eax
cmp esi, edi
je 0x4d3122
push 2
mov ecx, esi
call fcn.0048c2f0
push 1
mov ecx, esi
mov edi, eax
call fcn.0048c2f0
push 0
mov ecx, esi
mov dword [esp + 0x14], eax
call fcn.0048c2f0
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0xd8], edi
mov dword [esp + 0xd4], eax
xor edi, edi
lea ecx, [esp + 0x10]
push 0x68f57c
push ecx
push 0x69bdf4
mov ecx, ebx
mov dword [esp + 0x230], edi
mov dword [esp + 0x240], 0
mov dword [esp + 0x23c], 0
mov dword [esp + 0x238], 0
mov dword [esp + 0x234], 0
mov dword [esp + 0x208], edi
mov dword [esp + 0x218], 0
mov dword [esp + 0x214], 0
mov dword [esp + 0x210], 0
mov dword [esp + 0x20c], 0
call fcn.0048ca20
mov ecx, eax
call fcn.0048c7f0
mov edx, dword [eax]
lea ecx, [esp + 0x10]
mov al, byte [edx]
mov byte [esp + 0x1b], al
call fcn.00489810
movsx eax, byte [esp + 0x1b]
add eax, 0xffffffbe
cmp eax, 0x13
ja case.0x4d31cf.71
xor ecx, ecx
mov cl, byte [eax + 0x4d4a3c]
jmp dword [ecx*4 + 0x4d4a24]
mov dword [esp + 0x9c], edi
jmp case.0x4d31cf.71
mov dword [esp + 0x9c], 1
jmp case.0x4d31cf.71
fld dword [esp + 0x54]
mov eax, 1
mov ecx, 5
lea esi, [esp + 0x1c]
lea edi, [esp + 0x224]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], 0x3f800000
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x9c], 2
rep movsd dword es:[edi], dword [esi]
fadd st(0), st(0)
fstp dword [esp + 0x54]
mov ecx, 5
lea esi, [esp + 0x1c]
lea edi, [esp + 0x1fc]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], 0x3f000000
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
rep movsd dword es:[edi], dword [esi]
xor edi, edi
jmp case.0x4d31cf.71
fld dword [esp + 0x54]
mov eax, 1
mov ecx, 5
lea esi, [esp + 0x1c]
lea edi, [esp + 0x224]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], 0x3f000000
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x9c], 3
rep movsd dword es:[edi], dword [esi]
fadd st(0), st(0)
fstp dword [esp + 0x54]
mov ecx, 5
lea esi, [esp + 0x1c]
lea edi, [esp + 0x1fc]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], 0x3f400000
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
rep movsd dword es:[edi], dword [esi]
xor edi, edi
jmp case.0x4d31cf.71
mov dword [esp + 0x9c], 4
lea edx, [esp + 0x1c8]
lea eax, [esp + 0x238]
push edx
lea ecx, [esp + 0xcc]
push eax
push ecx
mov dword [esp + 0x1d4], 1
call fcn.004cd900
add esp, 0xc
lea ecx, [esp + 0xc8]
mov byte [esp + 0x2e0], 6
call fcn.00489930
test eax, eax
jle 0x4d341f
lea edx, [esp + 0xc8]
lea ecx, [esp + 0x8c]
push edx
push 0x6a2244
call fcn.004b1c70
mov ecx, eax
call fcn.004b1cc0
fld dword [esp + 0x84]
fsub dword [esp + 0x80]
push 0x6a223c
lea ecx, [esp + 0x90]
sub esp, 8
fstp qword [esp]
fld dword [esp + 0x88]
fsub dword [esp + 0x84]
push 0x68f88c
sub esp, 8
fstp qword [esp]
fld dword [esp + 0x98]
push 0x68f88c
sub esp, 8
fstp qword [esp]
fld dword [esp + 0x9c]
push 0x68f88c
sub esp, 8
fstp qword [esp]
call fcn.004b1c00
mov ecx, eax
call fcn.004b1c70
mov ecx, eax
call fcn.004b1c00
mov ecx, eax
call fcn.004b1c70
mov ecx, eax
call fcn.004b1c00
mov ecx, eax
call fcn.004b1c70
mov ecx, eax
call fcn.004b1c00
mov ecx, eax
call fcn.004b1c70
push 0x6a2238
lea ecx, [esp + 0x90]
call fcn.004b1c70
lea eax, [esp + 0xd0]
lea ecx, [esp + 0x9c]
push eax
lea edx, [esp + 0x200]
push ecx
lea eax, [esp + 0x22c]
push edx
lea ecx, [esp + 0x258]
push eax
lea edx, [esp + 0x64]
push ecx
lea eax, [esp + 0x8c]
push edx
lea ecx, [esp + 0xdc]
push eax
push ecx
call fcn.004d1d80
add esp, 0x20
lea ecx, [esp + 0xc4]
mov byte [esp + 0x2e0], 7
call fcn.00489930
test eax, eax
jle 0x4d34a8
lea edx, [esp + 0xc4]
push 0x6a2238
push edx
push 0x6a2244
lea ecx, [esp + 0x98]
call fcn.004b1c70
mov ecx, eax
call fcn.004b1cc0
mov ecx, eax
call fcn.004b1c70
fld dword [esp + 0x84]
fsub dword [esp + 0x54]
fld dword [esp + 0x7c]
fsub dword [esp + 0x54]
fld dword [esp + 0x80]
fadd dword [esp + 0x54]
fld dword [esp + 0x78]
fadd dword [esp + 0x54]
lea ecx, [esp + 0x64]
fstp dword [esp + 0x64]
fstp dword [esp + 0x6c]
fstp dword [esp + 0x68]
fstp dword [esp + 0x70]
call fcn.0049bff0
push 0x69069c
mov ecx, ebx
call fcn.0048ca20
mov esi, eax
cmp esi, edi
jne 0x4d354f
push 0x14
call fcn.00486570
mov esi, eax
add esp, 4
mov dword [esp + 0xb0], esi
cmp esi, edi
je 0x4d3538
mov dword [esi], 0x632d10
mov dword [esi + 8], edi
lea ecx, [esi + 0xc]
mov byte [esp + 0x2e0], 9
call fcn.0055c520
mov dword [esi], 0x632d0c
mov dword [esi + 4], 6
jmp 0x4d353a
xor esi, esi
push esi
push 0x69069c
mov ecx, ebx
mov byte [esp + 0x2e8], 7
call fcn.0048cbc0
push 0x690698
mov ecx, esi
call fcn.0048ca70
cmp eax, edi
mov dword [esp + 0xcc], eax
jne 0x4d35f3
push 0x24
call fcn.00486570
mov esi, eax
add esp, 4
mov dword [esp + 0xb0], esi
cmp esi, edi
je 0x4d35b0
mov dword [esi], 0x632d10
mov dword [esi + 8], edi
lea ecx, [esi + 0x10]
push 1
mov byte [esp + 0x2e4], 0xb
call fcn.0048dba0
mov dword [esi], 0x632d04
mov dword [esi + 4], 7
mov dword [esi + 0xc], edi
mov eax, esi
jmp 0x4d35b2
xor eax, eax
mov esi, dword [ebp + 8]
push eax
mov byte [esp + 0x2e4], 7
mov dword [esp + 0xd0], eax
lea edi, [esi + 0x1c]
mov ecx, edi
call fcn.0048eb10
mov ecx, esi
push eax
neg ecx
sbb ecx, ecx
and ecx, edi
push ecx
push 0x690698
push 0x69069c
mov ecx, ebx
call fcn.0048ca20
mov ecx, eax
call fcn.0048d040
xor edi, edi
mov eax, dword [esp + 0xcc]
mov esi, dword [eax + 0xc]
cmp esi, edi
je 0x4d3715
lea ecx, [esp + 0x1e4]
push ecx
push 0x68f3c4
mov ecx, esi
call fcn.0048d160
lea edx, [esp + 0x78]
mov ecx, esi
push edx
push 0x68f388
call fcn.0048d0a0
push 0x68f3b8
mov ecx, esi
call fcn.0048ca20
test eax, eax
mov dword [esp + 0x10], eax
je 0x4d36e5
push 0x690768
mov ecx, eax
call fcn.0048ca20
mov edi, eax
test edi, edi
jne 0x4d36b0
push 0x14
call fcn.00486570
mov edi, eax
add esp, 4
mov dword [esp + 0xb0], edi
test edi, edi
je 0x4d3697
mov dword [edi], 0x632d10
mov dword [edi + 8], 0
lea ecx, [edi + 0xc]
mov byte [esp + 0x2e0], 0xd
call fcn.0055c520
mov dword [edi], 0x632d0c
mov dword [edi + 4], 6
jmp 0x4d3699
xor edi, edi
mov ecx, dword [esp + 0x10]
push edi
push 0x690768
mov byte [esp + 0x2e8], 7
call fcn.0048cbc0
mov eax, dword [esp + 0x14]
mov ecx, edi
push eax
call fcn.0048cb90
test eax, eax
jne 0x4d3715
mov eax, dword [ebp + 8]
test eax, eax
je 0x4d36cc
lea ecx, [eax + 0x1c]
jmp 0x4d36ce
xor ecx, ecx
mov edx, dword [esp + 0x60]
mov eax, dword [edx + 8]
push eax
mov eax, dword [esp + 0x18]
push ecx
push eax
mov ecx, edi
call fcn.0048d040
jmp 0x4d3715
mov ecx, dword [esp + 0x4c]
push 0
push 0x69bc4c
call fcn.0048ca20
mov ecx, eax
call fcn.0048b040
push eax
push 0x68f3b8
mov ecx, esi
call fcn.0048cbc0
push 0x68f3b8
mov ecx, esi
call fcn.0048ca20
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx]
sub eax, 0
je 0x4d4538
dec eax
je 0x4d3c70
dec eax
jne 0x4d4981
push 0x68f3b8
mov ecx, esi
call fcn.0048ca20
lea edx, [esp + 0x110]
lea ecx, [esp + 0x114]
mov esi, eax
mov dword [esp + 0xec], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x108], 0
mov dword [esp + 0xdc], 0x646f28
mov dword [esp + 0x60], edx
call fcn.004d4a50
lea ecx, [esp + 0x12c]
call fcn.004897f0
lea ecx, [esp + 0x134]
mov byte [esp + 0x2e0], 0x18
call fcn.004897f0
xor eax, eax
mov dword [esp + 0x110], 0x646f10
mov dword [esp + 0x128], eax
mov dword [esp + 0x130], eax
push 4
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2e4], 0x19
call fcn.0048dba0
mov eax, dword [ebp + 8]
mov dword [esp + 0x14c], 0x41400000
mov dword [esp + 0xdc], 0x6470a8
mov dword [esp + 0x110], 0x647090
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], esi
mov ecx, 5
lea esi, [esp + 0x2b4]
lea edi, [esp + 0x114]
mov byte [esp + 0x2e0], 0x1a
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x130], ecx
lea ecx, [esp + 0x14]
call fcn.00489930
dec eax
lea edx, [esp + 0x1c0]
push eax
push edx
lea ecx, [esp + 0x1c]
call fcn.0048a630
push eax
lea ecx, [esp + 0x138]
mov byte [esp + 0x2e4], 0x1b
call fcn.00489a30
lea ecx, [esp + 0x1c0]
mov byte [esp + 0x2e0], 0x1a
call fcn.00489810
fld dword [esp + 0x5c]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
fcomp qword [0x635c40]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xec], eax
mov dword [esp + 0xe8], edx
fnstsw ax
test ah, 1
je 0x4d3923
fld dword [esp + 0x5c]
fcomp qword [0x646f48]
fnstsw ax
test ah, 0x41
je 0x4d3934
lea ecx, [esp + 0x5c]
push ecx
lea ecx, [esp + 0xe0]
call fcn.004d15a0
push 0x69b734
push ebx
call fcn.004ae830
add esp, 8
mov ecx, eax
call fcn.0048af60
push 0x69b730
push ebx
mov edi, eax
call fcn.004ae830
add esp, 8
mov ecx, eax
call fcn.0048af60
push 0x69bc3c
push ebx
mov dword [esp + 0x58], eax
call fcn.004ae830
add esp, 8
mov ecx, eax
call fcn.0048af00
test edi, edi
mov dword [esp + 0x10], eax
je 0x4d3ae8
lea ecx, [esp + 0x58]
call fcn.004897f0
mov eax, dword [edi + 0x10]
xor ebx, ebx
test eax, eax
mov byte [esp + 0x2e0], 0x1c
jbe 0x4d3a53
mov esi, dword [esp + 0x30]
push ebx
mov ecx, edi
call fcn.0048c270
test eax, eax
je 0x4d3a47
mov ecx, dword [eax + 4]
cmp ecx, 3
jne 0x4d39f2
lea edx, [esp + 0x1bc]
push esi
push edx
mov ecx, eax
call fcn.0048b530
push eax
lea ecx, [esp + 0x5c]
mov byte [esp + 0x2e4], 0x1d
call fcn.00495d60
mov byte [esp + 0x2e0], 0x1c
lea ecx, [esp + 0x1bc]
jmp 0x4d3a31
cmp ecx, 5
jne 0x4d3a36
lea ecx, [esp + 0x1d0]
push esi
push ecx
push 1
mov ecx, eax
call fcn.0048c270
mov ecx, eax
call fcn.0048b530
push eax
lea ecx, [esp + 0x5c]
mov byte [esp + 0x2e4], 0x1e
call fcn.00495d60
mov byte [esp + 0x2e0], 0x1c
lea ecx, [esp + 0x1d0]
call fcn.00495920
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0xdc]
push edx
call fcn.004d15c0
mov eax, dword [edi + 0x10]
inc ebx
cmp ebx, eax
jb 0x4d39a7
mov eax, dword [esp + 0x13c]
lea ecx, [esp + 0x1c4]
lea edx, [esp + 0x1b4]
push ecx
push edx
lea ecx, [esp + 0xe4]
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1bc], 0
call fcn.004d16d0
mov eax, dword [esp + 0x50]
test eax, eax
je 0x4d3ac6
mov edi, eax
xor esi, esi
mov eax, dword [edi + 0x10]
test eax, eax
jbe 0x4d3ac6
push esi
mov ecx, edi
call fcn.0048c2f0
mov dword [esp + 0x1b8], eax
lea eax, [esp + 0x1b8]
push eax
lea ecx, [esp + 0xe0]
call fcn.004d1950
mov eax, dword [edi + 0x10]
inc esi
cmp esi, eax
jb 0x4d3a9b
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0xe0]
call fcn.004d1d20
lea ecx, [esp + 0x58]
mov byte [esp + 0x2e0], 0x1a
call fcn.00495920
lea edx, [esp + 0x4c]
lea ecx, [esp + 0xdc]
push edx
call fcn.004d1a40
lea ecx, [esp + 0x4c]
mov byte [esp + 0x2e0], 0x1f
call fcn.00489930
test eax, eax
jle 0x4d3bd3
push 0x6a2244
push 0x6a22a4
lea ecx, [esp + 0x94]
call fcn.004b1c70
mov ecx, eax
call fcn.004b1c70
fld dword [esp + 0x70]
fsub dword [esp + 0x6c]
push 0x6a2298
lea ecx, [esp + 0x90]
sub esp, 8
fstp qword [esp]
fld dword [esp + 0x74]
fsub dword [esp + 0x70]
push 0x68f88c
sub esp, 8
fstp qword [esp]
fld dword [esp + 0x84]
push 0x68f88c
sub esp, 8
fstp qword [esp]
fld dword [esp + 0x88]
push 0x68f88c
sub esp, 8
fstp qword [esp]
call fcn.004b1c00
mov ecx, eax
call fcn.004b1c70
mov ecx, eax
call fcn.004b1c00
mov ecx, eax
call fcn.004b1c70
mov ecx, eax
call fcn.004b1c00
mov ecx, eax
call fcn.004b1c70
mov ecx, eax
call fcn.004b1c00
mov ecx, eax
call fcn.004b1c70
lea eax, [esp + 0x4c]
push 0x6a2290
push eax
lea ecx, [esp + 0x94]
call fcn.004b1cc0
mov ecx, eax
call fcn.004b1c70
lea ecx, [esp + 0x4c]
mov byte [esp + 0x2e0], 0x1a
call fcn.00489810
lea ecx, [esp + 0x110]
mov dword [esp + 0xdc], 0x647068
mov dword [esp + 0x60], ecx
mov dword [esp + 0x110], 0x647050
lea ecx, [esp + 0xdc]
mov byte [esp + 0x2e0], 0x21
call fcn.004d1910
lea ecx, [esp + 0x138]
mov byte [esp + 0x2e0], 0x20
call fcn.0048dbc0
lea esi, [esp + 0xdc]
lea edx, [esp + 0x110]
neg esi
sbb esi, esi
and esi, edx
mov dword [esp + 0x30], esi
mov dword [esi], 0x646f10
lea ecx, [esi + 0x24]
mov byte [esp + 0x2e0], 0x22
call fcn.00489810
lea ecx, [esi + 0x1c]
mov byte [esp + 0x2e0], 7
call fcn.00489810
jmp 0x4d4981
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x10]
push eax
push ecx
push 0x69b73c
push ebx
call fcn.004ae830
add esp, 8
mov ecx, eax
call fcn.0048b530
push 0x68f3b8
mov ecx, esi
mov byte [esp + 0x2e4], 0x12
call fcn.0048ca20
lea ecx, [esp + 0xdc]
mov esi, eax
call fcn.004ce3e0
mov edx, dword [ebp + 8]
mov dword [esp + 0xdc], 0x646ff0
mov dword [esp + 0x110], 0x646fd8
mov dword [esp + 0x190], edx
mov dword [esp + 0x194], esi
mov eax, dword [esp + 0x50]
mov ecx, 5
lea esi, [esp + 0x2b4]
lea edi, [esp + 0x114]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x14]
mov byte [esp + 0x2e0], 0x13
mov dword [esp + 0x130], eax
call fcn.00489930
dec eax
lea ecx, [esp + 0x19c]
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.0048a630
push eax
lea ecx, [esp + 0x138]
mov byte [esp + 0x2e4], 0x14
call fcn.00489a30
lea ecx, [esp + 0x19c]
mov byte [esp + 0x2e0], 0x13
call fcn.00489810
fld dword [esp + 0x68]
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x6c]
fsub dword [0x646fd4]
mov eax, dword [esp + 0x68]
mov dword [esp + 0xa0], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0xa8], ecx
lea ecx, [esp + 0xa0]
mov dword [esp + 0xa4], eax
fstp dword [esp + 0xa0]
mov dword [esp + 0xac], edx
call fcn.0049bff0
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x1c]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
call fcn.0049bff0
lea ecx, [esp + 0xdc]
call fcn.004cedc0
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xe0], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], ecx
lea ecx, [esp + 0xdc]
mov dword [esp + 0xec], edx
call fcn.004cf0d0
lea ecx, [esp + 0xdc]
call fcn.004cf190
lea eax, [esp + 0x1b]
lea ecx, [esp + 0xdc]
push eax
mov byte [esp + 0x1f], 0
call fcn.004ced70
fld dword [esp + 0x5c]
fcomp qword [0x635c40]
fnstsw ax
test ah, 1
je 0x4d3e58
fld dword [esp + 0x5c]
fcomp qword [0x646f48]
fnstsw ax
test ah, 0x41
jne 0x4d3e58
mov edi, 1
mov dword [esp + 0x15c], edi
jmp 0x4d3e68
mov ecx, dword [esp + 0x5c]
mov edi, 1
mov dword [esp + 0x18c], ecx
lea ecx, [esp + 0xdc]
mov byte [esp + 0x161], 1
call fcn.004cf190
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0xdc]
push edx
call fcn.004cfa60
lea eax, [esp + 0x1d4]
lea ecx, [esp + 0xdc]
push eax
call fcn.004cef10
lea ecx, [esp + 0x1a4]
mov esi, eax
push ecx
lea ecx, [esp + 0xe0]
call fcn.004ceeb0
or ecx, 0xffffffff
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], ecx
mov edx, dword [eax]
mov dword [esp + 0x34], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x38], ecx
mov edx, dword [eax + 8]
mov dword [esp + 0x3c], edx
mov eax, dword [esi]
mov dword [esp + 0x40], eax
mov ecx, dword [esi + 4]
mov dword [esp + 0x44], ecx
mov edx, dword [esi + 8]
lea eax, [esp + 0x40]
lea ecx, [esp + 0x34]
push eax
mov dword [esp + 0x4c], edx
call fcn.004d18b0
test eax, eax
jle 0x4d3f3c
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x44], esi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x48], esi
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], edx
lea ecx, [esp + 0x34]
lea edx, [esp + 0x2d0]
push ecx
push edx
lea ecx, [esp + 0xe4]
call fcn.004cef70
lea eax, [esp + 0x30]
lea ecx, [esp + 0xdc]
push eax
call fcn.004cffb0
lea ecx, [esp + 0x30]
mov byte [esp + 0x2e0], 0x15
call fcn.00489930
test eax, eax
jle 0x4d403a
push 0x6a2244
push 0x6a22a4
lea ecx, [esp + 0x94]
call fcn.004b1c70
mov ecx, eax
call fcn.004b1c70
fld dword [esp + 0x28]
fsub dword [esp + 0x24]
push 0x6a2298
lea ecx, [esp + 0x90]
sub esp, 8
fstp qword [esp]
fld dword [esp + 0x2c]
fsub dword [esp + 0x28]
push 0x68f88c
sub esp, 8
fstp qword [esp]
fld dword [esp + 0x3c]
push 0x68f88c
sub esp, 8
fstp qword [esp]
fld dword [esp + 0x40]
push 0x68f88c
sub esp, 8
fstp qword [esp]
call fcn.004b1c00
mov ecx, eax
call fcn.004b1c70
mov ecx, eax
call fcn.004b1c00
mov ecx, eax
call fcn.004b1c70
mov ecx, eax
call fcn.004b1c00
mov ecx, eax
call fcn.004b1c70
mov ecx, eax
call fcn.004b1c00
mov ecx, eax
call fcn.004b1c70
lea ecx, [esp + 0x30]
push 0x6a2290
push ecx
lea ecx, [esp + 0x94]
call fcn.004b1cc0
mov ecx, eax
call fcn.004b1c70
lea edx, [esp + 0x1a0]
lea eax, [esp + 0x28c]
push edx
lea ecx, [esp + 0x5c]
mov esi, 2
push eax
push ecx
mov dword [esp + 0x1ac], edi
mov dword [esp + 0x298], esi
mov dword [esp + 0x29c], 0x3f5cdcdd
mov dword [esp + 0x2a0], 0x3f5cdcdd
mov dword [esp + 0x2a4], 0x3f5cdcdd
mov dword [esp + 0x2a8], 0
call fcn.004cd900
add esp, 0xc
lea ecx, [esp + 0x58]
mov byte [esp + 0x2e0], 0x16
call fcn.00489930
test eax, eax
jle 0x4d44f1
fld dword [esp + 0xa0]
fcomp dword [esp + 0xa4]
fnstsw ax
test ah, 1
je 0x4d44f1
fld dword [esp + 0xa8]
fcomp dword [esp + 0xac]
fnstsw ax
test ah, 1
je 0x4d44f1
lea edx, [esp + 0x58]
lea ecx, [esp + 0x8c]
push edx
push 0x6a2244
call fcn.004b1c70
mov ecx, eax
call fcn.004b1cc0
fld dword [esp + 0xac]
fsub dword [esp + 0xa8]
push 0x6a223c
lea ecx, [esp + 0x90]
sub esp, 8
fstp qword [esp]
fld dword [esp + 0xb0]
fsub dword [esp + 0xac]
push 0x68f88c
sub esp, 8
fstp qword [esp]
fld dword [esp + 0xc0]
push 0x68f88c
sub esp, 8
fstp qword [esp]
fld dword [esp + 0xc4]
push 0x68f88c
sub esp, 8
fstp qword [esp]
call fcn.004b1c00
mov ecx, eax
call fcn.004b1c70
mov ecx, eax
call fcn.004b1c00
mov ecx, eax
call fcn.004b1c70
mov ecx, eax
call fcn.004b1c00
mov ecx, eax
call fcn.004b1c70
mov ecx, eax
call fcn.004b1c00
mov ecx, eax
call fcn.004b1c70
push 0x6a2238
lea ecx, [esp + 0x90]
call fcn.004b1c70
xor eax, eax
lea ecx, [esp + 0x1cc]
mov dword [esp + 0x268], eax
mov dword [esp + 0x264], eax
mov dword [esp + 0x260], eax
mov dword [esp + 0x280], eax
mov dword [esp + 0x284], eax
mov dword [esp + 0x288], eax
mov dword [esp + 0x2a8], eax
mov dword [esp + 0x2ac], eax
mov dword [esp + 0x2b0], eax
mov dword [esp + 0x214], eax
mov dword [esp + 0x218], eax
mov dword [esp + 0x21c], eax
mov dword [esp + 0x220], eax
lea eax, [esp + 0x260]
push eax
lea edx, [esp + 0x27c]
push ecx
lea eax, [esp + 0x2a8]
push edx
lea ecx, [esp + 0x21c]
push eax
lea edx, [esp + 0x1a8]
push ecx
lea eax, [esp + 0xb4]
push edx
lea ecx, [esp + 0x68]
push eax
mov dword [esp + 0x1e8], esi
mov dword [esp + 0x1b4], 0x40000000
mov dword [esp + 0x294], edi
mov dword [esp + 0x298], 0x3f000000
mov dword [esp + 0x2bc], edi
mov dword [esp + 0x2c0], 0x3f800000
mov dword [esp + 0x22c], edi
push ecx
call fcn.004d1d80
add esp, 0x20
lea ecx, [esp + 0x50]
mov byte [esp + 0x2e0], 0x17
call fcn.00489930
test eax, eax
jle 0x4d42bf
lea edx, [esp + 0x50]
push 0x6a2238
push edx
push 0x6a2244
lea ecx, [esp + 0x98]
call fcn.004b1c70
mov ecx, eax
call fcn.004b1cc0
mov ecx, eax
call fcn.004b1c70
fld dword [esp + 0xac]
fadd dword [esp + 0xa8]
fmul dword [0x635e38]
fstp dword [esp + 0x60]
fld dword [esp + 0xa0]
fadd dword [esp + 0xa4]
fmul dword [0x635e38]
fstp dword [esp + 0x4c]
fld dword [esp + 0xa4]
fsub dword [esp + 0xa0]
fcom dword [0x646fd0]
fnstsw ax
test ah, 0x41
jne 0x4d44de
fsub dword [0x646fd0]
fcom qword [0x635c40]
fnstsw ax
test ah, 1
je 0x4d4334
fcomp qword [0x646f48]
fnstsw ax
test ah, 0x41
je 0x4d44e0
jmp 0x4d4336
fstp st(0)
fld dword [esp + 0xac]
fsub dword [esp + 0xa8]
fcom dword [0x646fd0]
fnstsw ax
test ah, 0x41
jne 0x4d44de
fsub dword [0x646fd0]
fcom qword [0x635c40]
fnstsw ax
test ah, 1
je 0x4d437b
fcomp qword [0x646f48]
fnstsw ax
test ah, 0x41
je 0x4d44e0
jmp 0x4d437d
fstp st(0)
push 0x6a2288
push 0x6a2244
lea ecx, [esp + 0x94]
call fcn.004b1c70
mov ecx, eax
call fcn.004b1c70
fld dword [esp + 0x60]
fadd dword [0x646fcc]
push 0x6a2274
lea ecx, [esp + 0x90]
fstp qword [esp + 0x1d8]
fld dword [esp + 0x50]
fsub dword [0x63495c]
mov esi, dword [esp + 0x1dc]
mov edi, dword [esp + 0x1d8]
push esi
push edi
push 0x68f88c
fstp qword [esp + 0x1b4]
mov ebx, dword [esp + 0x1b8]
mov eax, dword [esp + 0x1b4]
push ebx
push eax
call fcn.004b1c00
mov ecx, eax
call fcn.004b1c70
mov ecx, eax
call fcn.004b1c00
mov ecx, eax
call fcn.004b1c70
fld dword [esp + 0x4c]
fadd dword [0x63495c]
push 0x6a2270
push esi
push edi
push 0x68f88c
sub esp, 8
lea ecx, [esp + 0xa4]
fstp qword [esp]
call fcn.004b1c00
mov ecx, eax
call fcn.004b1c70
mov ecx, eax
call fcn.004b1c00
mov ecx, eax
call fcn.004b1c70
fld dword [esp + 0x60]
fsub dword [0x646fcc]
push 0x6a2270
lea ecx, [esp + 0x90]
sub esp, 8
fstp qword [esp]
fld dword [esp + 0x58]
push 0x68f88c
sub esp, 8
fstp qword [esp]
call fcn.004b1c00
mov ecx, eax
call fcn.004b1c70
mov ecx, eax
call fcn.004b1c00
mov ecx, eax
call fcn.004b1c70
mov ecx, dword [esp + 0x1a4]
push 0x6a2260
push esi
push edi
push 0x68f88c
push ebx
push ecx
lea ecx, [esp + 0xa4]
call fcn.004b1c00
mov ecx, eax
call fcn.004b1c70
mov ecx, eax
call fcn.004b1c00
mov ecx, eax
call fcn.004b1c70
lea edx, [esp + 0x58]
push 0x6a2238
push edx
lea ecx, [esp + 0x94]
call fcn.004b1cc0
mov ecx, eax
call fcn.004b1c70
jmp 0x4d44e0
fstp st(0)
lea ecx, [esp + 0x50]
mov byte [esp + 0x2e0], 0x16
call fcn.00489810
lea ecx, [esp + 0x58]
mov byte [esp + 0x2e0], 0x15
call fcn.00489810
lea ecx, [esp + 0x30]
mov byte [esp + 0x2e0], 0x13
call fcn.00489810
lea ecx, [esp + 0x110]
mov byte [esp + 0x2e0], 0x12
call fcn.004ce8d0
mov byte [esp + 0x2e0], 7
lea ecx, [esp + 0x10]
jmp 0x4d497c
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x10]
push eax
push ecx
push 0x69b73c
push ebx
call fcn.004ae830
add esp, 8
mov ecx, eax
call fcn.0048b530
push 0x69b75c
push ebx
mov byte [esp + 0x2e8], 0xe
call fcn.004ae830
add esp, 8
mov ecx, eax
call fcn.0048af00
push 0x69b6fc
push ebx
mov dword [esp + 0x68], eax
call fcn.004ae830
add esp, 8
mov ecx, eax
call fcn.0048af00
push 0x69b728
push ebx
mov dword [esp + 0x54], eax
call fcn.004ae830
add esp, 8
mov ecx, eax
call fcn.0048af00
push 0x68f3b8
mov ecx, esi
mov ebx, eax
call fcn.0048ca20
lea ecx, [esp + 0xdc]
mov esi, eax
call fcn.004ce3e0
mov edx, dword [ebp + 8]
mov dword [esp + 0xdc], 0x646ff0
mov dword [esp + 0x110], 0x646fd8
mov dword [esp + 0x190], edx
mov dword [esp + 0x194], esi
mov eax, dword [esp + 0x50]
mov ecx, 5
lea esi, [esp + 0x2b4]
lea edi, [esp + 0x114]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x14]
mov byte [esp + 0x2e0], 0xf
mov dword [esp + 0x130], eax
call fcn.00489930
dec eax
lea ecx, [esp + 0xb0]
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.0048a630
push eax
lea ecx, [esp + 0x138]
mov byte [esp + 0x2e4], 0x10
call fcn.00489a30
lea ecx, [esp + 0xb0]
mov byte [esp + 0x2e0], 0xf
call fcn.00489810
lea ecx, [esp + 0xdc]
call fcn.004cedc0
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe0], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0xe8], ecx
lea ecx, [esp + 0xdc]
mov dword [esp + 0xe4], eax
mov dword [esp + 0xec], edx
call fcn.004cf0d0
lea ecx, [esp + 0xdc]
call fcn.004cf190
mov al, byte [esp + 0x60]
lea ecx, [esp + 0x77]
push ecx
lea ecx, [esp + 0xe0]
mov byte [esp + 0x7b], al
call fcn.004ced70
fld dword [esp + 0x5c]
fcomp qword [0x635c40]
fnstsw ax
test ah, 1
je 0x4d46ef
fld dword [esp + 0x5c]
fcomp qword [0x646f48]
fnstsw ax
test ah, 0x41
jne 0x4d46ef
mov eax, 1
mov dword [esp + 0x15c], eax
jmp 0x4d46ff
mov edx, dword [esp + 0x5c]
mov eax, 1
mov dword [esp + 0x18c], edx
mov esi, dword [esp + 0x4c]
test esi, 0x1000
je 0x4d471b
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], eax
jmp 0x4d472f
lea ecx, [esp + 0xdc]
mov byte [esp + 0x161], 1
call fcn.004cf190
test esi, 0x2000
je 0x4d4741
mov word [esp + 0x180], 0x2a
test esi, 0x1000000
je 0x4d4752
mov dword [esp + 0x150], ebx
jmp 0x4d4759
mov dword [esp + 0x14c], ebx
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0xdc]
push eax
call fcn.004cfa60
lea ecx, [esp + 0x1d4]
push ecx
lea ecx, [esp + 0xe0]
call fcn.004cef10
lea edx, [esp + 0x1a4]
lea ecx, [esp + 0xdc]
push edx
mov esi, eax
call fcn.004ceeb0
or ecx, 0xffffffff
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], ecx
mov ecx, dword [eax]
mov dword [esp + 0x34], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x38], edx
mov eax, dword [eax + 8]
mov dword [esp + 0x3c], eax
mov ecx, dword [esi]
mov dword [esp + 0x40], ecx
mov edx, dword [esi + 4]
lea ecx, [esp + 0x40]
mov dword [esp + 0x44], edx
mov eax, dword [esi + 8]
push ecx
lea ecx, [esp + 0x38]
mov dword [esp + 0x4c], eax
call fcn.004d18b0
test eax, eax
jle 0x4d4819
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x44], esi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x48], esi
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], edx
lea edx, [esp + 0x34]
lea eax, [esp + 0x2c8]
push edx
push eax
lea ecx, [esp + 0xe4]
call fcn.004cef70
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0xe0]
call fcn.004cffb0
lea ecx, [esp + 0x30]
mov byte [esp + 0x2e0], 0x11
call fcn.00489930
test eax, eax
jle 0x4d494b
push 0x6a2244
push 0x6a22a4
lea ecx, [esp + 0x94]
call fcn.004b1c70
mov ecx, eax
call fcn.004b1c70
fld dword [esp + 0x68]
fsub dword [esp + 0x64]
fld dword [esp + 0xf0]
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x4d48ab
fld dword [esp + 0x70]
fsub dword [esp + 0x6c]
fcomp dword [esp + 0xf4]
fnstsw ax
test ah, 1
je 0x4d492c
fld dword [esp + 0x70]
fsub dword [esp + 0x6c]
push 0x6a2298
lea ecx, [esp + 0x90]
sub esp, 8
fstp qword [esp]
push 0x68f88c
sub esp, 8
fstp qword [esp]
fld dword [esp + 0x84]
push 0x68f88c
sub esp, 8
fstp qword [esp]
fld dword [esp + 0x88]
push 0x68f88c
sub esp, 8
fstp qword [esp]
call fcn.004b1c00
mov ecx, eax
call fcn.004b1c70
mov ecx, eax
call fcn.004b1c00
mov ecx, eax
call fcn.004b1c70
mov ecx, eax
call fcn.004b1c00
mov ecx, eax
call fcn.004b1c70
mov ecx, eax
call fcn.004b1c00
mov ecx, eax
call fcn.004b1c70
jmp 0x4d492e
fstp st(0)
lea edx, [esp + 0x30]
push 0x6a2290
push edx
lea ecx, [esp + 0x94]
call fcn.004b1cc0
mov ecx, eax
call fcn.004b1c70
lea ecx, [esp + 0x30]
mov byte [esp + 0x2e0], 0xf
call fcn.00489810
lea ecx, [esp + 0x110]
mov byte [esp + 0x2e0], 0xe
call fcn.004ce8d0
mov byte [esp + 0x2e0], 7
lea ecx, [esp + 0x10]
call fcn.00495920
mov ecx, dword [esp + 0xcc]
test ecx, ecx
je 0x4d49a5
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x90]
push 0
push 0
push eax
push edx
call fcn.0048d350
lea ecx, [esp + 0xc4]
mov byte [esp + 0x2e0], 6
call fcn.00489810
lea ecx, [esp + 0xc8]
mov byte [esp + 0x2e0], 3
call fcn.00489810
lea ecx, [esp + 0x14]
mov byte [esp + 0x2e0], 1
call fcn.00489810
lea ecx, [esp + 0x88]
mov byte [esp + 0x2e0], 0
call fcn.00489810
lea ecx, [esp + 0x8c]
mov dword [esp + 0x2e0], 0xffffffff
call fcn.004b1a60
mov ecx, dword [esp + 0x2d8]
pop edi
pop esi
mov eax, 1
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret