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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0xf0
fldz
push ebx
push ebp
fstp dword [esp + 0x14]
push esi
push edi
mov esi, ecx
lea ecx, [esi + 0x810]
push 0x5ad73f
call fcn.00566e70
fldz
xor eax, eax
fstp dword [esp + 0x2c]
mov dword [esi + 0x828], eax
mov dword [esi + 0x82c], eax
mov dword [esi + 0x830], eax
mov dword [esi + 0x834], eax
mov dword [esi + 0x838], eax
mov dword [esi + 0x83c], eax
mov dword [esi + 0x840], eax
mov dword [esi + 0x844], eax
mov dword [esi + 0x848], eax
mov dword [esi + 0x84c], eax
mov dword [esi + 0x850], eax
mov dword [esi + 0x854], eax
mov dword [esi + 0x858], eax
mov dword [esi + 0x85c], eax
mov dword [esi + 0x860], eax
mov dword [esi + 0x864], eax
mov dword [esi + 0x868], eax
mov dword [esi + 0x86c], eax
mov dword [esi + 0x870], eax
mov dword [esi + 0x874], eax
mov dword [esi + 0x878], eax
mov dword [esi + 0x87c], eax
mov dword [esi + 0x880], eax
mov dword [esi + 0x884], eax
mov dword [esi + 0x888], eax
mov dword [esi + 0x88c], eax
mov dword [esi + 0x890], eax
mov dword [esi + 0x894], eax
cmp dword [esi + 0x2c], eax
mov byte [esp + 0xb0], 0
mov byte [esp + 0x70], 0
je 0x4a2136
cmp byte [esi + 0x7f2], al
je 0x4a2136
mov ecx, dword [esi]
push eax
add ecx, 0x3d44
push eax
mov bl, 1
call fcn.004c89b0
mov dword [esp + 0x30], eax
fild dword [esp + 0x30]
fst dword [esp + 0x2c]
fld1
fcompp
fnstsw ax
test ah, 0x41
jp 0x4a21c3
xor ecx, ecx
call fcn.004a0390
mov edi, eax
push 0x67d004
push edi
mov ecx, 0x67cff8
call fcn.00422cf0
test eax, eax
je 0x4a2144
test edi, edi
je 0x4a213d
mov edx, 0x67d004
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x4a2128
jmp 0x4a2144
xor bl, bl
jmp 0x4a2205
mov byte [0x67d004], 0
fld dword [esp + 0x2c]
push ecx
fstp dword [esp]
call fcn.00407a80
push eax
push 0x67d004
lea eax, [esp + 0xb8]
push 0x5f2264
push eax
call fcn.00589571
add esp, 0x10
lea ecx, [esp + 0xb0]
push ecx
lea ecx, [esi + 0x810]
call fcn.00566ee0
push 0x67d004
push 0x5f2300
mov ecx, 0x67cff8
call fcn.00422cf0
test eax, eax
je 0x4a21b3
xor eax, eax
lea esp, [esp]
mov cl, byte [eax + 0x5f2300]
mov byte [eax + 0x67d004], cl
add eax, 1
test cl, cl
jne 0x4a21a0
push 0x67d004
lea ecx, [esi + 0x810]
call fcn.00566ee0
cmp byte [esi + 0x73c], 0
mov dword [esi + 0x828], 1
jne 0x4a2205
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x4a2205
fld dword [esp + 0x2c]
lea edx, [esp + 0x30]
fst dword [esp + 0x1c]
push edx
fstp dword [esp + 0x34]
call fcn.0049f510
fld dword [esi + 0x804]
push ecx
mov ecx, dword [esi + 8]
fstp dword [esp]
call fcn.0049f2e0
cmp byte [0x920b44], 0
je 0x4a2212
test bl, bl
jmp 0x4a2216
cmp dword [esi + 0x2c], 0
sete al
test al, al
jne 0x4a2229
cmp byte [esi + 0x73c], al
je 0x4a3e58
fldz
mov ecx, dword [esi]
cmp dword [ecx + 0x1ff4], 0
fld st(0)
mov byte [esp + 0x37], 0
jne 0x4a22f8
fstp st(0)
fld dword [esi + 0x7ec]
fadd dword [esi + 0x74c]
fsub qword [0xa1e878]
fmul dword [esi + 0x750]
fld dword [esi + 0x754]
fxch st(1)
fcom st(2)
fnstsw ax
test ah, 5
jp 0x4a2274
fstp st(0)
fstp st(0)
fld st(0)
jmp 0x4a2283
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4a2281
fstp st(0)
jmp 0x4a2283
fstp st(1)
cmp dword [ecx + 0x3d54], 2
mov ebx, dword [ecx + 0x3d50]
jne 0x4a2295
add ebx, 1
mov edi, dword [esi + 0x7c4]
xor edx, edx
test edi, edi
jle 0x4a22f8
lea eax, [esi + 0x7c8]
mov ecx, dword [eax]
test ecx, ecx
jge 0x4a22bd
add edx, 1
add eax, 8
cmp edx, dword [esi + 0x7c4]
jl 0x4a22a7
jmp 0x4a22f8
lea eax, [ecx + 1]
cmp ebx, eax
jg 0x4a22ed
add ecx, 0xffffffff
cmp ebx, ecx
jge 0x4a22ed
lea eax, [edx + 1]
cmp eax, edi
jge 0x4a22ed
lea ecx, [esi + eax*8 + 0x7c8]
mov dword [ecx], 0x80000000
add eax, 1
add ecx, 8
cmp eax, dword [esi + 0x7c4]
jl 0x4a22d9
mov dword [esi + edx*8 + 0x7c8], 0x80000000
mov eax, dword [esi]
fstp dword [esp + 0x38]
fst dword [esp + 0x50]
fst dword [esp + 0x54]
fst dword [esp + 0x60]
fst dword [esp + 0x68]
fstp dword [esp + 0x6c]
fld dword [eax + 0x319c]
fstp dword [esi + 0x81c]
fild dword [esi + 0x6c]
fmul qword [esi + 0x60]
fadd qword [esi + 0x58]
fst dword [esi + 0x824]
cmp byte [0x920b2c], 0
je 0x4a2344
fadd dword [esi + 0x81c]
fstp dword [esi + 0x824]
jmp 0x4a2346
fstp st(0)
fld dword [eax + 0x31a0]
fld1
fcom dword [esi + 0x824]
fnstsw ax
test ah, 0x41
jne 0x4a2365
fstp st(1)
fst dword [esi + 0x824]
jmp 0x4a237e
fxch st(1)
fcom dword [esi + 0x824]
fnstsw ax
test ah, 5
jp 0x4a237c
fstp dword [esi + 0x824]
jmp 0x4a237e
fstp st(0)
fld dword [esi + 0x81c]
fcomp dword [esi + 0x824]
fnstsw ax
test ah, 5
jp 0x4a25b7
fld dword [esi + 0x824]
mov dword [esi + 0x82c], 1
fsub dword [esi + 0x81c]
mov eax, dword [0x9f9488]
mov ecx, eax
and ecx, 0xff
fdiv dword [esi + 0x758]
add eax, 1
fst dword [esp + 0x28]
fld dword [ecx*4 + 0x9f948c]
mov dword [0x9f9488], eax
fmul dword [esi + 0x75c]
fst dword [esp + 0x20]
fld dword [esi + 0x764]
fadd dword [esi + 0x760]
fadd st(1)
faddp st(2)
fld dword [esi + 0x768]
fmul st(2)
fstp dword [esp + 0x24]
fld st(2)
fsub dword [esi + 0x768]
fmulp st(2)
fxch st(1)
fst dword [esp + 0x30]
fld dword [esp + 0x2c]
fadd st(1)
fstp dword [esp + 0x2c]
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x4a2507
mov eax, dword [esi + 0x810]
fstp st(0)
test eax, eax
lea ecx, [esi + 0x810]
je 0x4a2441
cmp byte [eax], 0
je 0x4a2441
push 0x5d9cec
call fcn.00566ee0
mov ecx, 1
call fcn.004a0390
mov edi, eax
push 0x67d004
push edi
mov ecx, 0x67cff8
call fcn.00422cf0
test eax, eax
je 0x4a2485
test edi, edi
je 0x4a247e
mov edx, 0x67d004
mov eax, edi
sub edx, edi
mov edi, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x4a2470
jmp 0x4a2485
mov byte [0x67d004], 0
fld dword [esp + 0x30]
push ecx
fstp dword [esp]
call fcn.00407a80
push eax
push 0x67d004
lea edx, [esp + 0xb8]
push 0x5f2264
push edx
call fcn.00589571
add esp, 0x10
lea eax, [esp + 0xb0]
push eax
lea ecx, [esi + 0x810]
call fcn.00566ee0
push 0x67d004
push 0x5f2300
mov ecx, 0x67cff8
call fcn.00422cf0
test eax, eax
je 0x4a24f3
xor eax, eax
lea ebx, [ebx]
mov cl, byte [eax + 0x5f2300]
mov byte [eax + 0x67d004], cl
add eax, 1
test cl, cl
jne 0x4a24e0
push 0x67d004
lea ecx, [esi + 0x810]
call fcn.00566ee0
fld dword [esp + 0x20]
fld dword [esp + 0x24]
fadd dword [esp + 0x38]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 0x41
jne 0x4a2587
fstp st(1)
mov ecx, 1
fstp dword [esp + 0x1c]
call fcn.004a0390
mov edi, eax
push 0x67d004
push edi
mov ecx, 0x67cff8
call fcn.00422cf0
test eax, eax
je 0x4a2565
test edi, edi
je 0x4a255e
mov edx, 0x67d004
mov eax, edi
sub edx, edi
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x4a2550
jmp 0x4a2565
mov byte [0x67d004], 0
xor eax, eax
jmp 0x4a2570
mov cl, byte [eax + 0x67d004]
mov byte [esp + eax + 0x70], cl
add eax, 1
test cl, cl
jne 0x4a2570
fld dword [esp + 0x20]
jmp 0x4a2589
fstp st(0)
fld dword [esi + 0x804]
mov byte [esp + 0x58], 1
fadd dword [esi + 0x760]
fadd st(1)
fadd dword [esp + 0x38]
fstp dword [esi + 0x820]
fstp dword [esp + 0x5c]
fld dword [esp + 0x28]
fstp dword [esp + 0x64]
jmp 0x4a265e
fstp st(0)
fld dword [esi + 0x81c]
fcomp dword [esi + 0x824]
fnstsw ax
test ah, 0x41
jne 0x4a2659
mov eax, dword [0x8f71bc]
cmp eax, 5
jl 0x4a25df
cmp eax, 8
jle 0x4a25ff
cmp eax, 0xa
jl 0x4a25e9
cmp eax, 0xd
jle 0x4a25ff
fld dword [esi + 0x824]
push ecx
mov ecx, dword [esi]
fstp dword [esp]
add ecx, 4
call fcn.00502de0
jmp 0x4a2659
mov ecx, dword [esi]
call fcn.004da0e0
test al, al
je 0x4a2659
push 0x67d004
push 0x5f22cc
mov ecx, 0x67cff8
call fcn.00422cf0
test eax, eax
je 0x4a2643
xor eax, eax
jmp 0x4a2630
mov cl, byte [eax + 0x5f22cc]
mov byte [eax + 0x67d004], cl
add eax, 1
test cl, cl
jne 0x4a2630
push 0x1020304
push 3
push 0x67d004
mov ecx, 0x90757c
call fcn.00460780
mov byte [esp + 0x58], 0
cmp byte [0x920b44], 0
je 0x4a2673
mov ecx, dword [esi]
push 0
add ecx, 4
call fcn.00502e10
mov eax, dword [esi + 0xac]
test eax, eax
jne 0x4a2699
cmp dword [esi + 0xec], eax
jne 0x4a2699
cmp dword [esi + 0x16c], eax
jne 0x4a2699
cmp dword [esi + 0x1ec], eax
mov byte [esp + 0x3c], al
je 0x4a269e
mov byte [esp + 0x3c], 1
test eax, eax
jne 0x4a26be
cmp dword [esi + 0xec], eax
jne 0x4a26be
cmp dword [esi + 0x1ac], eax
jne 0x4a26be
cmp dword [esi + 0x22c], eax
mov byte [esp + 0x3d], al
je 0x4a26c3
mov byte [esp + 0x3d], 1
test eax, eax
jne 0x4a26e3
cmp dword [esi + 0x12c], eax
jne 0x4a26e3
cmp dword [esi + 0x16c], eax
jne 0x4a26e3
cmp dword [esi + 0x26c], eax
mov byte [esp + 0x3e], al
je 0x4a26e8
mov byte [esp + 0x3e], 1
test eax, eax
jne 0x4a2708
cmp dword [esi + 0x12c], eax
jne 0x4a2708
cmp dword [esi + 0x1ac], eax
jne 0x4a2708
cmp dword [esi + 0x2ac], eax
mov byte [esp + 0x3f], al
je 0x4a270d
mov byte [esp + 0x3f], 1
cmp byte [0x920b44], 0
je 0x4a291e
xor edi, edi
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
add ecx, 4
push edi
call fcn.00502e10
test al, al
je 0x4a290e
cmp byte [esp + edi + 0x3c], 0
jne 0x4a290e
cmp edi, 3
ja case.default.0x4a2747
jmp dword [edi*4 + 0x4a3f70]
cmp byte [esi + 0x1f4], 0
je 0x4a2761
mov edi, 7
jmp 0x4a2802
cmp byte [esi + 0xf4], 0
je 0x4a2774
mov edi, 3
jmp 0x4a2802
cmp byte [esi + 0x174], 0
je case.default.0x4a2747
mov edi, 5
jmp 0x4a2802
cmp byte [esi + 0x234], 0
je 0x4a2794
mov edi, 8
jmp 0x4a2802
cmp byte [esi + 0xf4], 0
je 0x4a27a4
mov edi, 3
jmp 0x4a2802
cmp byte [esi + 0x1b4], 0
je case.default.0x4a2747
mov edi, 6
jmp 0x4a2802
cmp byte [esi + 0x274], 0
je 0x4a27c4
mov edi, 9
jmp 0x4a2802
cmp byte [esi + 0x134], 0
je 0x4a2774
mov edi, 4
jmp 0x4a2802
cmp byte [esi + 0x2b4], 0
je 0x4a27e4
mov edi, 0xa
jmp 0x4a2802
cmp byte [esi + 0x134], 0
je 0x4a27a4
mov edi, 4
jmp 0x4a2802
cmp byte [esi + 0xb4], 0
je 0x4a2870
mov edi, 2
mov ecx, edi
shl ecx, 6
cmp dword [ecx + esi + 0x2c], 0
lea eax, [ecx + esi + 0x2c]
mov dword [esp + 0x28], eax
jne 0x4a2870
mov eax, dword [esi]
mov ecx, dword [eax + 0x313c]
add eax, 4
test ecx, ecx
je 0x4a2840
mov edx, dword [esp + 0x24]
imul edx, edx, 0x1e8
mov eax, dword [edx + eax + 0x2b5c]
push eax
call fcn.004f2650
mov ebp, eax
jmp 0x4a2842
xor ebp, ebp
push edi
mov ebx, 1
push ebx
mov ecx, esi
call fcn.004a0890
test eax, eax
je 0x4a2870
cmp eax, ebp
je 0x4a286a
push edi
add ebx, 1
push ebx
mov ecx, esi
call fcn.004a0890
test eax, eax
jne 0x4a2854
jmp 0x4a2870
mov ecx, dword [esp + 0x28]
mov dword [ecx], ebx
mov eax, dword [esi + 0xac]
test eax, eax
jne 0x4a2896
cmp dword [esi + 0xec], eax
jne 0x4a2896
cmp dword [esi + 0x16c], eax
jne 0x4a2896
cmp dword [esi + 0x1ec], eax
mov byte [esp + 0x3c], al
je 0x4a289b
mov byte [esp + 0x3c], 1
test eax, eax
jne 0x4a28bb
cmp dword [esi + 0xec], eax
jne 0x4a28bb
cmp dword [esi + 0x1ac], eax
jne 0x4a28bb
cmp dword [esi + 0x22c], eax
mov byte [esp + 0x3d], al
je 0x4a28c0
mov byte [esp + 0x3d], 1
test eax, eax
jne 0x4a28e0
cmp dword [esi + 0x12c], eax
jne 0x4a28e0
cmp dword [esi + 0x16c], eax
jne 0x4a28e0
cmp dword [esi + 0x26c], eax
mov byte [esp + 0x3e], al
je 0x4a28e5
mov byte [esp + 0x3e], 1
test eax, eax
jne 0x4a2905
cmp dword [esi + 0x12c], eax
jne 0x4a2905
cmp dword [esi + 0x1ac], eax
jne 0x4a2905
cmp dword [esi + 0x2ac], eax
mov byte [esp + 0x3f], al
je 0x4a290a
mov byte [esp + 0x3f], 1
mov edi, dword [esp + 0x24]
add edi, 1
cmp edi, 4
mov dword [esp + 0x24], edi
jl 0x4a2720
cmp byte [esp + 0x3c], 0
jne 0x4a293e
cmp byte [esp + 0x3d], 0
jne 0x4a293e
cmp byte [esp + 0x3e], 0
jne 0x4a293e
cmp byte [esp + 0x3f], 0
je 0x4a2fb7
fldz
xor ebp, ebp
fst dword [esp + 0x20]
xor edi, edi
lea ebx, [esi + 0x4f0]
cmp byte [esp + edi + 0x3c], 0
je 0x4a29a9
mov eax, dword [0x9f9488]
fstp st(0)
mov edx, eax
and edx, 0xff
fld dword [edx*4 + 0x9f988c]
add eax, 1
add ebp, 1
mov dword [0x9f9488], eax
call fcn.0058adc0
fmul dword [0x5f22c8]
mov eax, dword [ebx - 4]
lea ecx, [esp + edi*4 + 0xf0]
fadd dword [0x5ad750]
fld dword [esi + 0x774]
mov dword [ebx], eax
fmul st(1)
fmul st(1)
fmul st(1)
fmulp st(1)
fstp dword [ecx]
fld dword [esp + 0x20]
jmp 0x4a29b4
fldz
lea ecx, [esp + edi*4 + 0xf0]
fstp dword [ecx]
fcom dword [ecx]
fnstsw ax
test ah, 5
jp 0x4a29c5
fstp st(0)
fld dword [ecx]
fst dword [esp + 0x20]
fld dword [ecx]
add edi, 1
fstp dword [esp + edi*4 + 0x3c]
add ebx, 0x40
cmp edi, 4
jl 0x4a294e
cmp ebp, 2
jle 0x4a29e7
fld dword [esi + 0x770]
jmp 0x4a29ed
fld dword [esi + 0x76c]
faddp st(1)
fst dword [esp + 0x20]
fld dword [esi + 0x778]
fmul st(1)
fstp dword [esp + 0x24]
fld1
fld st(0)
fsub dword [esi + 0x778]
fmul st(2)
fst dword [esp + 0x28]
fld dword [esp + 0x2c]
fadd st(1)
fstp dword [esp + 0x2c]
fcompp
fnstsw ax
test ah, 1
jne 0x4a2b07
mov eax, dword [esi + 0x810]
fstp st(0)
test eax, eax
lea ecx, [esi + 0x810]
je 0x4a2a47
cmp byte [eax], 0
je 0x4a2a47
push 0x5d9cec
call fcn.00566ee0
mov ecx, 2
call fcn.004a0390
mov edi, eax
push 0x67d004
push edi
mov ecx, 0x67cff8
call fcn.00422cf0
test eax, eax
je 0x4a2a89
test edi, edi
je 0x4a2a82
mov edx, 0x67d004
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x4a2a74
jmp 0x4a2a89
mov byte [0x67d004], 0
fld dword [esp + 0x28]
push ecx
fstp dword [esp]
call fcn.00407a80
push eax
push 0x67d004
lea ecx, [esp + 0xb8]
push 0x5f2264
push ecx
call fcn.00589571
add esp, 0x10
lea edx, [esp + 0xb0]
push edx
lea ecx, [esi + 0x810]
call fcn.00566ee0
push 0x67d004
push 0x5f2300
mov ecx, 0x67cff8
call fcn.00422cf0
test eax, eax
je 0x4a2af3
xor eax, eax
mov edi, edi
mov cl, byte [eax + 0x5f2300]
mov byte [eax + 0x67d004], cl
add eax, 1
test cl, cl
jne 0x4a2ae0
push 0x67d004
lea ecx, [esi + 0x810]
call fcn.00566ee0
fld dword [esp + 0x20]
fld dword [esp + 0x38]
fadd dword [0x5ad744]
fadd dword [esp + 0x24]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 0x41
jne 0x4a2b87
fstp st(1)
mov ecx, 2
fstp dword [esp + 0x1c]
call fcn.004a0390
mov edi, eax
push 0x67d004
push edi
mov ecx, 0x67cff8
call fcn.00422cf0
test eax, eax
je 0x4a2b68
test edi, edi
je 0x4a2b61
mov edx, 0x67d004
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x4a2b53
jmp 0x4a2b68
mov byte [0x67d004], 0
xor eax, eax
lea ebx, [ebx]
mov cl, byte [eax + 0x67d004]
mov byte [esp + eax + 0x70], cl
add eax, 1
test cl, cl
jne 0x4a2b70
fld dword [esp + 0x20]
jmp 0x4a2b89
fstp st(0)
fld dword [esi + 0x804]
lea eax, [esi + 0x830]
fstp dword [esi + 0x898]
mov dword [esp + 0x20], eax
mov edi, 2
fadd dword [esp + 0x38]
lea eax, [esi + 0xac]
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], eax
fadd dword [esi + 0x804]
fstp dword [esi + 0x89c]
mov eax, dword [eax]
test eax, eax
je 0x4a2f97
push edi
push eax
mov ecx, esi
call fcn.004a0890
mov ecx, dword [esi + 0x718]
xor ebx, ebx
cmp dword [ecx + 0x10], ebx
mov dword [esp + 0x28], eax
jle 0x4a2f97
lea ebx, [ebx]
mov ecx, dword [esi + 0x718]
push ebx
call fcn.004f2650
cmp dword [esp + 0x28], eax
jne case.default.0x4a2c1f
mov edx, dword [esp + 0x20]
lea eax, [edi - 2]
cmp eax, 8
mov dword [edx], 1
ja case.default.0x4a2c1f
add edi, 0xfffffffe
jmp dword [edi*4 + 0x4a3f80]
xor edi, edi
lea ebp, [esi + 0x4e0]
mov edi, edi
cmp byte [esi + 0x73e], 0
je 0x4a2c48
mov ecx, dword [esi]
add ecx, 4
push edi
call fcn.00502e10
test al, al
je 0x4a2c7e
fild dword [ebp + 0xc]
mov ecx, dword [esi]
sub esp, 8
add ecx, 4
fmul qword [ebp]
mov byte [esp + edi + 0x44], 1
fadd qword [ebp - 8]
fstp qword [esp]
push 1
push edi
call fcn.00502db0
cmp edi, 3
sete cl
push 1
push ecx
mov ecx, dword [esi]
push ebx
push edi
add ecx, 4
call fcn.0050b2b0
add edi, 1
add ebp, 0x40
cmp edi, 3
jle 0x4a2c30
jmp case.default.0x4a2c1f
xor edi, edi
lea ebp, [esi + 0x4e0]
cmp byte [esi + 0x73e], 0
je 0x4a2cae
mov ecx, dword [esi]
add ecx, 4
push edi
call fcn.00502e10
test al, al
je 0x4a2ce4
fild dword [ebp + 0xc]
mov ecx, dword [esi]
sub esp, 8
add ecx, 4
fmul qword [ebp]
mov byte [esp + edi + 0x44], 1
fadd qword [ebp - 8]
fstp qword [esp]
push 1
push edi
call fcn.00502db0
mov ecx, dword [esi]
cmp edi, 1
sete dl
push 1
add ecx, 4
push edx
push ebx
push edi
call fcn.0050b2b0
add edi, 1
add ebp, 0x40
cmp edi, 1
jle 0x4a2c96
jmp case.default.0x4a2c1f
mov edi, 2
lea ebp, [esi + 0x560]
nop
cmp byte [esi + 0x73e], 0
je 0x4a2d18
mov ecx, dword [esi]
add ecx, 4
push edi
call fcn.00502e10
test al, al
je 0x4a2d4e
mov ecx, dword [esi]
mov byte [esp + edi + 0x3c], 1
fild dword [ebp + 0xc]
sub esp, 8
add ecx, 4
fmul qword [ebp]
fadd qword [ebp - 8]
fstp qword [esp]
push 1
push edi
call fcn.00502db0
mov ecx, dword [esi]
cmp edi, 3
sete al
push 1
add ecx, 4
push eax
push ebx
push edi
call fcn.0050b2b0
add edi, 1
add ebp, 0x40
cmp edi, 3
jle 0x4a2d00
jmp case.default.0x4a2c1f
xor edi, edi
lea ebp, [esi + 0x4e0]
cmp byte [esi + 0x73e], 0
je 0x4a2d7e
mov ecx, dword [esi]
add ecx, 4
push edi
call fcn.00502e10
test al, al
je 0x4a2db4
fild dword [ebp + 0xc]
mov ecx, dword [esi]
sub esp, 8
add ecx, 4
fmul qword [ebp]
mov byte [esp + edi + 0x44], 1
fadd qword [ebp - 8]
fstp qword [esp]
push 1
push edi
call fcn.00502db0
cmp edi, 2
sete cl
push 1
push ecx
mov ecx, dword [esi]
push ebx
push edi
add ecx, 4
call fcn.0050b2b0
add edi, 2
add ebp, 0x80
cmp edi, 2
jle 0x4a2d66
jmp case.default.0x4a2c1f
mov edi, 1
lea ebp, [esi + 0x520]
cmp byte [esi + 0x73e], 0
je 0x4a2dea
mov ecx, dword [esi]
add ecx, 4
push edi
call fcn.00502e10
test al, al
je 0x4a2e20
mov ecx, dword [esi]
mov byte [esp + edi + 0x3c], 1
fild dword [ebp + 0xc]
sub esp, 8
add ecx, 4
fmul qword [ebp]
fadd qword [ebp - 8]
fstp qword [esp]
push 1
push edi
call fcn.00502db0
mov ecx, dword [esi]
cmp edi, 3
sete dl
push 1
add ecx, 4
push edx
push ebx
push edi
call fcn.0050b2b0
add edi, 2
add ebp, 0x80
cmp edi, 3
jle 0x4a2dd2
jmp case.default.0x4a2c1f
cmp byte [esi + 0x73e], 0
je 0x4a2e50
mov ecx, dword [esi]
add ecx, 4
push 0
call fcn.00502e10
test al, al
je case.default.0x4a2c1f
fild dword [esi + 0x4ec]
mov ecx, dword [esi]
sub esp, 8
add ecx, 4
fmul qword [esi + 0x4e0]
mov byte [esp + 0x44], 1
fadd qword [esi + 0x4d8]
fstp qword [esp]
push 1
push 0
call fcn.00502db0
push 1
push 1
push ebx
push 0
jmp 0x4a2f77
cmp byte [esi + 0x73e], 0
je 0x4a2ea4
mov ecx, dword [esi]
add ecx, 4
push 1
call fcn.00502e10
test al, al
je case.default.0x4a2c1f
fild dword [esi + 0x52c]
mov ecx, dword [esi]
sub esp, 8
add ecx, 4
fmul qword [esi + 0x520]
mov byte [esp + 0x45], 1
fadd qword [esi + 0x518]
fstp qword [esp]
push 1
push 1
call fcn.00502db0
push 1
push 1
push ebx
push 1
jmp 0x4a2f77
cmp byte [esi + 0x73e], 0
je 0x4a2ef8
mov ecx, dword [esi]
add ecx, 4
push 2
call fcn.00502e10
test al, al
je case.default.0x4a2c1f
fild dword [esi + 0x56c]
mov ecx, dword [esi]
sub esp, 8
add ecx, 4
fmul qword [esi + 0x560]
mov byte [esp + 0x46], 1
fadd qword [esi + 0x558]
fstp qword [esp]
push 1
push 2
call fcn.00502db0
push 1
push 1
push ebx
push 2
jmp 0x4a2f77
cmp byte [esi + 0x73e], 0
je 0x4a2f45
mov ecx, dword [esi]
add ecx, 4
push 3
call fcn.00502e10
test al, al
je case.default.0x4a2c1f
fild dword [esi + 0x5ac]
mov ecx, dword [esi]
sub esp, 8
add ecx, 4
fmul qword [esi + 0x5a0]
mov byte [esp + 0x47], 1
fadd qword [esi + 0x598]
fstp qword [esp]
push 1
push 3
call fcn.00502db0
push 1
push 1
push ebx
push 3
mov ecx, dword [esi]
add ecx, 4
call fcn.0050b2b0
mov eax, dword [esi + 0x718]
mov edi, dword [esp + 0x24]
add ebx, 1
cmp ebx, dword [eax + 0x10]
jl 0x4a2bf0
mov eax, dword [esp + 0x30]
add dword [esp + 0x20], 4
add edi, 1
add eax, 0x40
cmp edi, 0xa
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], eax
jle 0x4a2bc2
lea ecx, [esi + 0x854]
mov ebp, 0xb
lea ebx, [esi + 0x2ec]
mov dword [esp + 0x20], ecx
lea esp, [esp]
mov edx, dword [ebx]
cmp edx, dword [ebx + 4]
je 0x4a3091
mov eax, dword [esp + 0x20]
mov dword [eax], 1
fld dword [esi + 0x77c]
fadd dword [esp + 0x38]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 0x41
jne 0x4a3053
mov ecx, ebp
fstp dword [esp + 0x1c]
call fcn.004a0390
mov edi, eax
push 0x67d004
push edi
mov ecx, 0x67cff8
call fcn.00422cf0
test eax, eax
je 0x4a303d
test edi, edi
je 0x4a3036
mov edx, 0x67d004
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x4a3028
jmp 0x4a303d
mov byte [0x67d004], 0
xor eax, eax
nop
mov cl, byte [eax + 0x67d004]
mov byte [esp + eax + 0x70], cl
add eax, 1
test cl, cl
jne 0x4a3040
jmp 0x4a3055
fstp st(0)
fld dword [esi + 0x77c]
fcomp dword [esp + 0x6c]
fnstsw ax
test ah, 0x41
jne 0x4a3070
fld dword [esi + 0x77c]
fstp dword [esp + 0x6c]
mov ecx, dword [ebx]
mov dword [ebx + 4], ecx
fild dword [ebx]
mov ecx, dword [esi]
sub esp, 8
fmul qword [ebx - 0xc]
lea edx, [ebp - 1]
add ecx, 4
fadd qword [ebx - 0x14]
fstp qword [esp]
push edx
call fcn.00502d80
add dword [esp + 0x20], 4
add ebp, 1
add ebx, 0x40
cmp ebp, 0xc
jle 0x4a2fd0
mov eax, dword [esi + 0x32c]
cmp eax, dword [esi + 0x330]
je 0x4a3180
fld dword [esi + 0x77c]
mov dword [esi + 0x858], 1
fadd dword [esp + 0x38]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 0x41
jne 0x4a3133
mov ecx, 0xc
fstp dword [esp + 0x1c]
call fcn.004a0390
mov edi, eax
push 0x67d004
push edi
mov ecx, 0x67cff8
call fcn.00422cf0
test eax, eax
je 0x4a311c
test edi, edi
je 0x4a3115
mov edx, 0x67d004
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x4a3107
jmp 0x4a311c
mov byte [0x67d004], 0
xor eax, eax
mov edi, edi
mov cl, byte [eax + 0x67d004]
mov byte [esp + eax + 0x70], cl
add eax, 1
test cl, cl
jne 0x4a3120
jmp 0x4a3135
fstp st(0)
fld dword [esi + 0x77c]
fcomp dword [esp + 0x6c]
fnstsw ax
test ah, 0x41
jne 0x4a3150
fld dword [esi + 0x77c]
fstp dword [esp + 0x6c]
mov ecx, dword [esi + 0x32c]
mov dword [esi + 0x330], ecx
fild dword [esi + 0x32c]
mov ecx, dword [esi]
sub esp, 8
fmul qword [esi + 0x320]
add ecx, 4
fadd qword [esi + 0x318]
fstp qword [esp]
push 0xb
call fcn.00502d80
mov edx, dword [esi + 0x36c]
cmp edx, dword [esi + 0x370]
je 0x4a3260
fld dword [esi + 0x780]
mov dword [esi + 0x85c], 1
fadd dword [esp + 0x38]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 0x41
jne 0x4a3213
mov ecx, 0xd
fstp dword [esp + 0x1c]
call fcn.004a0390
mov edi, eax
push 0x67d004
push edi
mov ecx, 0x67cff8
call fcn.00422cf0
test eax, eax
je 0x4a31f7
test edi, edi
je 0x4a31f0
mov edx, 0x67d004
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x4a31e2
jmp 0x4a31f7
mov byte [0x67d004], 0
xor eax, eax
lea esp, [esp]
mov cl, byte [eax + 0x67d004]
mov byte [esp + eax + 0x70], cl
add eax, 1
test cl, cl
jne 0x4a3200
jmp 0x4a3215
fstp st(0)
fld dword [esi + 0x780]
fcomp dword [esp + 0x6c]
fnstsw ax
test ah, 0x41
jne 0x4a3230
fld dword [esi + 0x780]
fstp dword [esp + 0x6c]
mov eax, dword [esi + 0x36c]
mov ecx, dword [esi]
mov dword [esi + 0x370], eax
fild dword [esi + 0x36c]
sub esp, 8
add ecx, 4
fmul qword [esi + 0x360]
fadd qword [esi + 0x358]
fstp qword [esp]
push 0x1c
call fcn.00502d80
mov ecx, dword [esi + 0x3ac]
cmp ecx, dword [esi + 0x3b0]
je 0x4a3340
fld dword [esi + 0x788]
mov dword [esi + 0x860], 1
fadd dword [esp + 0x38]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 0x41
jne 0x4a32f3
mov ecx, 0xe
fstp dword [esp + 0x1c]
call fcn.004a0390
mov edi, eax
push 0x67d004
push edi
mov ecx, 0x67cff8
call fcn.00422cf0
test eax, eax
je 0x4a32db
test edi, edi
je 0x4a32d4
mov edx, 0x67d004
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x4a32c6
jmp 0x4a32db
mov byte [0x67d004], 0
xor eax, eax
lea ecx, [ecx]
mov cl, byte [eax + 0x67d004]
mov byte [esp + eax + 0x70], cl
add eax, 1
test cl, cl
jne 0x4a32e0
jmp 0x4a32f5
fstp st(0)
fld dword [esi + 0x788]
fcomp dword [esp + 0x6c]
fnstsw ax
test ah, 0x41
jne 0x4a3310
fld dword [esi + 0x788]
fstp dword [esp + 0x6c]
mov edx, dword [esi + 0x3ac]
mov ecx, dword [esi]
mov dword [esi + 0x3b0], edx
fild dword [esi + 0x3ac]
sub esp, 8
add ecx, 4
fmul qword [esi + 0x3a0]
fadd qword [esi + 0x398]
fstp qword [esp]
push 0x1d
call fcn.00502d80
mov eax, dword [esi + 0x3ec]
cmp eax, dword [esi + 0x3f0]
je 0x4a35eb
mov eax, dword [esi]
lea ecx, [eax + 4]
call fcn.005017b0
fldz
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4a336d
fstp st(1)
fld1
jmp 0x4a3380
fstp st(0)
fld1
fcom st(1)
fnstsw ax
test ah, 5
jp 0x4a3380
fstp st(1)
fld st(0)
fxch st(1)
mov eax, dword [0x9f9488]
mov ecx, eax
and ecx, 0xff
fld dword [ecx*4 + 0x9f948c]
add eax, 1
mov dword [0x9f9488], eax
fmul dword [esi + 0x794]
fld dword [esi + 0x798]
mov dword [esi + 0x864], 1
fmulp st(3)
faddp st(2)
fxch st(1)
fadd dword [esi + 0x790]
fst dword [esp + 0x30]
fld st(0)
fmul dword [esi + 0x79c]
fstp dword [esp + 0x24]
fld st(1)
fsub dword [esi + 0x79c]
fmul st(1)
fst dword [esp + 0x28]
fld dword [esp + 0x2c]
fadd st(1)
fstp dword [esp + 0x2c]
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x4a34d7
mov eax, dword [esi + 0x810]
fstp st(0)
test eax, eax
lea ecx, [esi + 0x810]
je 0x4a3416
cmp byte [eax], 0
je 0x4a3416
push 0x5d9cec
call fcn.00566ee0
mov ecx, 0xf
call fcn.004a0390
mov edi, eax
push 0x67d004
push edi
mov ecx, 0x67cff8
call fcn.00422cf0
test eax, eax
je 0x4a3458
test edi, edi
je 0x4a3451
mov edx, 0x67d004
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x4a3443
jmp 0x4a3458
mov byte [0x67d004], 0
fld dword [esp + 0x28]
push ecx
fstp dword [esp]
call fcn.00407a80
push eax
push 0x67d004
lea edx, [esp + 0xb8]
push 0x5f2264
push edx
call fcn.00589571
add esp, 0x10
lea eax, [esp + 0xb0]
push eax
lea ecx, [esi + 0x810]
call fcn.00566ee0
push 0x67d004
push 0x5f2300
mov ecx, 0x67cff8
call fcn.00422cf0
test eax, eax
je 0x4a34c3
xor eax, eax
lea ecx, [ecx]
mov cl, byte [eax + 0x5f2300]
mov byte [eax + 0x67d004], cl
add eax, 1
test cl, cl
jne 0x4a34b0
push 0x67d004
lea ecx, [esi + 0x810]
call fcn.00566ee0
fld dword [esp + 0x30]
fld dword [esp + 0x24]
fadd dword [esp + 0x38]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 0x41
jne 0x4a3557
fstp st(1)
mov ecx, 0xf
fstp dword [esp + 0x1c]
call fcn.004a0390
mov edi, eax
push 0x67d004
push edi
mov ecx, 0x67cff8
call fcn.00422cf0
test eax, eax
je 0x4a3536
test edi, edi
je 0x4a352f
mov edx, 0x67d004
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x4a3521
jmp 0x4a3536
mov byte [0x67d004], 0
xor eax, eax
jmp 0x4a3540
mov cl, byte [eax + 0x67d004]
mov byte [esp + eax + 0x70], cl
add eax, 1
test cl, cl
jne 0x4a3540
fld dword [esp + 0x30]
jmp 0x4a3559
fstp st(0)
fcom dword [esp + 0x6c]
fnstsw ax
test ah, 0x41
jne 0x4a356a
fstp dword [esp + 0x6c]
jmp 0x4a356c
fstp st(0)
mov ecx, 0x908488
call fcn.00464620
test eax, eax
je 0x4a3599
mov ecx, dword [esi + 0x3ec]
push 1
push ecx
mov ecx, 0x908488
call fcn.0046a130
test al, al
mov byte [esp + 0x37], al
jne 0x4a35eb
mov eax, dword [esi + 0x3ec]
mov ecx, dword [esi]
mov dword [esi + 0x3f0], eax
cmp dword [ecx + 0x5cd0], eax
je 0x4a35b5
push eax
call fcn.004d9c20
mov ecx, dword [esi]
call fcn.0042b010
mov edx, dword [esi]
mov ecx, dword [edx + 0x5cd0]
mov eax, dword [0x91d864]
sar eax, cl
mov ecx, dword [edx + 0x1ff4]
and al, 1
test ecx, ecx
jne 0x4a35db
test al, al
jne 0x4a35e4
cmp ecx, 1
jne 0x4a35eb
test al, al
jne 0x4a35eb
mov ecx, edx
call fcn.004d9bc0
mov edx, dword [esi + 0x42c]
cmp edx, dword [esi + 0x430]
je 0x4a36d0
fld dword [esi + 0x7a0]
mov dword [esi + 0x868], 1
fadd dword [esp + 0x38]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 0x41
jne 0x4a3683
mov ecx, 0x10
fstp dword [esp + 0x1c]
call fcn.004a0390
mov edi, eax
push 0x67d004
push edi
mov ecx, 0x67cff8
call fcn.00422cf0
test eax, eax
je 0x4a3666
test edi, edi
je 0x4a365f
mov edx, 0x67d004
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x4a3651
jmp 0x4a3666
mov byte [0x67d004], 0
xor eax, eax
jmp 0x4a3670
mov cl, byte [eax + 0x67d004]
mov byte [esp + eax + 0x70], cl
add eax, 1
test cl, cl
jne 0x4a3670
jmp 0x4a3685
fstp st(0)
fld dword [esi + 0x7a0]
fcomp dword [esp + 0x6c]
fnstsw ax
test ah, 0x41
jne 0x4a36a0
fld dword [esi + 0x7a0]
fstp dword [esp + 0x6c]
mov eax, dword [esi + 0x42c]
mov ecx, dword [esi]
mov dword [esi + 0x430], eax
fild dword [esi + 0x42c]
sub esp, 8
add ecx, 4
fmul qword [esi + 0x420]
fadd qword [esi + 0x418]
fstp qword [esp]
push 5
call fcn.00502d80
mov ecx, dword [esi + 0x46c]
cmp ecx, dword [esi + 0x470]
je 0x4a37b0
fld dword [esp + 0x38]
mov dword [esi + 0x86c], 1
fadd dword [esi + 0x7a4]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 0x41
jne 0x4a3763
mov ecx, 0x11
fstp dword [esp + 0x1c]
call fcn.004a0390
mov edi, eax
push 0x67d004
push edi
mov ecx, 0x67cff8
call fcn.00422cf0
test eax, eax
je 0x4a374b
test edi, edi
je 0x4a3744
mov edx, 0x67d004
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x4a3736
jmp 0x4a374b
mov byte [0x67d004], 0
xor eax, eax
lea ecx, [ecx]
mov cl, byte [eax + 0x67d004]
mov byte [esp + eax + 0x70], cl
add eax, 1
test cl, cl
jne 0x4a3750
jmp 0x4a3765
fstp st(0)
fld dword [esi + 0x7a4]
fcomp dword [esp + 0x6c]
fnstsw ax
test ah, 0x41
jne 0x4a3780
fld dword [esi + 0x7a4]
fstp dword [esp + 0x6c]
mov edx, dword [esi + 0x46c]
mov ecx, dword [esi]
mov dword [esi + 0x470], edx
fild dword [esi + 0x46c]
sub esp, 8
add ecx, 4
fmul qword [esi + 0x460]
fadd qword [esi + 0x458]
fstp qword [esp]
push 0x1e
call fcn.00502d80
mov eax, dword [esi + 0x4ac]
cmp eax, dword [esi + 0x4b0]
je 0x4a3890
fld dword [esi + 0x7a8]
mov dword [esi + 0x870], 1
fadd dword [esp + 0x38]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 0x41
jne 0x4a3843
mov ecx, 0x12
fstp dword [esp + 0x1c]
call fcn.004a0390
mov edi, eax
push 0x67d004
push edi
mov ecx, 0x67cff8
call fcn.00422cf0
test eax, eax
je 0x4a382b
test edi, edi
je 0x4a3824
mov edx, 0x67d004
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x4a3816
jmp 0x4a382b
mov byte [0x67d004], 0
xor eax, eax
lea ecx, [ecx]
mov cl, byte [eax + 0x67d004]
mov byte [esp + eax + 0x70], cl
add eax, 1
test cl, cl
jne 0x4a3830
jmp 0x4a3845
fstp st(0)
fld dword [esi + 0x7a8]
fcomp dword [esp + 0x6c]
fnstsw ax
test ah, 0x41
jne 0x4a3860
fld dword [esi + 0x7a8]
fstp dword [esp + 0x6c]
mov ecx, dword [esi + 0x4ac]
mov dword [esi + 0x4b0], ecx
fild dword [esi + 0x4ac]
mov ecx, dword [esi]
sub esp, 8
fmul qword [esi + 0x4a0]
add ecx, 4
fadd qword [esi + 0x498]
fstp qword [esp]
push 0xf
call fcn.00502d80
cmp byte [esi + 0x73d], 0
je 0x4a3994
lea edx, [esi + 0x874]
xor ebp, ebp
lea edi, [esi + 0x4ec]
mov dword [esp + 0x20], edx
nop
mov eax, dword [edi]
cmp eax, dword [edi + 4]
je 0x4a3980
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov edx, dword [edi]
mov dword [edi + 4], edx
fild dword [edi]
mov ecx, dword [esi]
sub esp, 8
fmul qword [edi - 0xc]
add ecx, 4
fadd qword [edi - 0x14]
fstp qword [esp]
push 1
push ebp
call fcn.00502db0
fld dword [esi + 0x7ac]
fadd dword [esp + 0x38]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 0x41
jne 0x4a3963
lea ecx, [ebp + 0x13]
fstp dword [esp + 0x1c]
call fcn.004a0390
mov ebx, eax
push 0x67d004
push ebx
mov ecx, 0x67cff8
call fcn.00422cf0
test eax, eax
je 0x4a3945
test ebx, ebx
je 0x4a393e
mov edx, 0x67d004
mov eax, ebx
sub edx, ebx
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x4a3930
jmp 0x4a3945
mov byte [0x67d004], 0
xor eax, eax
jmp 0x4a3950
mov cl, byte [eax + 0x67d004]
mov byte [esp + eax + 0x70], cl
add eax, 1
test cl, cl
jne 0x4a3950
jmp 0x4a3965
fstp st(0)
fld dword [esi + 0x7ac]
fcomp dword [esp + 0x6c]
fnstsw ax
test ah, 0x41
jne 0x4a3980
fld dword [esi + 0x7ac]
fstp dword [esp + 0x6c]
add dword [esp + 0x20], 4
add ebp, 1
add edi, 0x40
cmp ebp, 4
jl 0x4a38b0
fld dword [esp + 0x6c]
lea eax, [esi + 0x884]
xor ebp, ebp
lea ebx, [esi + 0x5f0]
mov dword [esp + 0x20], eax
mov ecx, dword [ebx - 4]
cmp ecx, dword [ebx]
je 0x4a3a86
mov edx, dword [esp + 0x20]
fstp st(0)
mov dword [edx], 1
mov eax, dword [ebx - 4]
test eax, eax
mov dword [ebx], eax
jne 0x4a39ce
fldz
jmp 0x4a39d7
fild dword [ebx - 4]
fmul qword [ebx - 0x10]
fadd qword [ebx - 0x18]
mov ecx, dword [esi]
sub esp, 8
fstp qword [esp]
push 5
push ebp
add ecx, 4
call fcn.00502db0
fld dword [esi + 0x7b0]
fadd dword [esp + 0x38]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 0x41
jne 0x4a3a63
lea ecx, [ebp + 0x17]
fstp dword [esp + 0x1c]
call fcn.004a0390
mov edi, eax
push 0x67d004
push edi
mov ecx, 0x67cff8
call fcn.00422cf0
test eax, eax
je 0x4a3a47
test edi, edi
je 0x4a3a40
mov edx, 0x67d004
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x4a3a32
jmp 0x4a3a47
mov byte [0x67d004], 0
xor eax, eax
lea esp, [esp]
mov cl, byte [eax + 0x67d004]
mov byte [esp + eax + 0x70], cl
add eax, 1
test cl, cl
jne 0x4a3a50
jmp 0x4a3a65
fstp st(0)
fld dword [esi + 0x7b0]
fld dword [esp + 0x6c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x4a3a86
fstp st(0)
fld dword [esi + 0x7b0]
fst dword [esp + 0x6c]
add dword [esp + 0x20], 4
add ebp, 1
add ebx, 0x40
cmp ebp, 4
jl 0x4a39aa
cmp dword [esi + 0x6ec], 0
je 0x4a3d7b
mov ebp, 1
fstp st(0)
mov dword [esi + 0x894], ebp
cmp dword [0x98d878], 0x3ff
jge 0x4a3ad9
mov eax, dword [0x9f947c]
add dword [0x98d878], ebp
mov ecx, eax
add eax, 0x1af
mov dword [0x9f947c], eax
jmp 0x4a3adf
mov ecx, dword [0x9f947c]
mov edx, dword [0x8f71bc]
fld qword [0xa1e878]
xor eax, eax
mov edi, 2
cmp dword [esi + 0x6ec], edi
sete al
add edx, 0x140
shl edx, 6
add eax, edx
shl eax, 0x11
add eax, dword [esi + 4]
fstp dword [ecx]
mov dword [ecx + 4], eax
call fcn.004b3c50
fld dword [esi + 0x7b4]
mov ecx, dword [esi]
fst dword [esp + 0x20]
cmp dword [ecx + 0x1200], 0
lea ebx, [edi + 0x19]
je 0x4a3b53
cmp byte [ecx + 0x1240], 0
jne 0x4a3b53
fcom dword [esi + 0x784]
fnstsw ax
test ah, 5
jp 0x4a3b53
fstp st(0)
lea ebx, [edi + 0xb]
fld dword [esi + 0x784]
fst dword [esp + 0x20]
cmp dword [ecx + 0x1244], 0
je 0x4a3b83
cmp byte [ecx + 0x1284], 0
jne 0x4a3b83
fcom dword [esi + 0x78c]
fnstsw ax
test ah, 5
jp 0x4a3b83
fstp st(0)
mov ebx, 0xe
fld dword [esi + 0x78c]
fst dword [esp + 0x20]
cmp dword [esi + 0x6ec], edi
jne 0x4a3bb3
add ecx, 4
fstp st(0)
call fcn.005017e0
fmul dword [esi + 0x7bc]
fld dword [esp + 0x20]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x4a3bb1
fstp st(0)
mov ebx, 0x1b
jmp 0x4a3bb3
fstp st(1)
mov eax, dword [0x9f9488]
mov ecx, eax
and ecx, 0xff
fld dword [ecx*4 + 0x9f948c]
add eax, ebp
mov dword [0x9f9488], eax
fmul dword [esi + 0x7b8]
faddp st(1)
fld dword [esi + 0x7c0]
fmul st(1)
fstp dword [esp + 0x24]
fld1
fld st(0)
fsub dword [esi + 0x7c0]
fmulp st(2)
fxch st(1)
fst dword [esp + 0x28]
fld dword [esp + 0x2c]
fadd st(1)
fstp dword [esp + 0x2c]
fcompp
fnstsw ax
test ah, 1
jne 0x4a3ce2
mov eax, dword [esi + 0x810]
test eax, eax
lea ecx, [esi + 0x810]
je 0x4a3c2a
cmp byte [eax], 0
je 0x4a3c2a
push 0x5d9cec
call fcn.00566ee0
mov ecx, ebx
call fcn.004a0390
mov edi, eax
push 0x67d004
push edi
mov ecx, 0x67cff8
call fcn.00422cf0
test eax, eax
je 0x4a3c68
test edi, edi
je 0x4a3c61
mov edx, 0x67d004
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, ebp
test cl, cl
jne 0x4a3c54
jmp 0x4a3c68
mov byte [0x67d004], 0
fld dword [esp + 0x28]
push ecx
fstp dword [esp]
call fcn.00407a80
push eax
push 0x67d004
lea edx, [esp + 0xb8]
push 0x5f2264
push edx
call fcn.00589571
add esp, 0x10
lea eax, [esp + 0xb0]
push eax
lea ecx, [esi + 0x810]
call fcn.00566ee0
push 0x67d004
push 0x5f2300
mov ecx, 0x67cff8
call fcn.00422cf0
test eax, eax
je 0x4a3cd2
xor eax, eax
lea ecx, [ecx]
mov cl, byte [eax + 0x5f2300]
mov byte [eax + 0x67d004], cl
add eax, ebp
test cl, cl
jne 0x4a3cc0
push 0x67d004
lea ecx, [esi + 0x810]
call fcn.00566ee0
fld dword [esp + 0x24]
fadd dword [esp + 0x38]
fst dword [esp + 0x24]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 0x41
jne 0x4a3d64
mov ecx, ebx
fstp dword [esp + 0x1c]
call fcn.004a0390
mov edi, eax
push 0x67d004
push edi
mov ecx, 0x67cff8
call fcn.00422cf0
test eax, eax
je 0x4a3d44
test edi, edi
je 0x4a3d3d
mov edx, 0x67d004
mov eax, edi
sub edx, edi
jmp 0x4a3d30
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, ebp
test cl, cl
jne 0x4a3d30
jmp 0x4a3d44
mov byte [0x67d004], 0
xor eax, eax
jmp 0x4a3d50
mov cl, byte [eax + 0x67d004]
mov byte [esp + eax + 0x70], cl
add eax, ebp
test cl, cl
jne 0x4a3d50
fld dword [esp + 0x24]
fsub dword [esp + 0x38]
fld dword [esp + 0x6c]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x4a3d79
fstp st(0)
jmp 0x4a3d7b
fstp st(1)
fld dword [esp + 0x2c]
mov ecx, dword [esi + 8]
test ecx, ecx
fld dword [esp + 0x1c]
fadd st(1)
fstp dword [esp + 0x1c]
faddp st(1)
fstp dword [esp + 0x6c]
je 0x4a3def
lea edx, [esp + 0x38]
push edx
call fcn.0049f2f0
fld dword [esi + 0x804]
push ecx
mov ecx, dword [esi + 8]
fstp dword [esp]
call fcn.0049f2e0
mov ecx, dword [esi + 8]
push 1
call fcn.0049f220
test al, al
je 0x4a3def
cmp dword [0x91fc6c], 0
jle 0x4a3def
mov ecx, dword [esi]
add ecx, 0xaf4
cmp byte [ecx + 0xce5], 0
je 0x4a3def
mov eax, dword [ecx + 0xce0]
push 1
push eax
mov byte [ecx + 0xce5], 0
call fcn.004fb5e0
cmp byte [esp + 0x37], 0
je 0x4a3e58
fld dword [0x5ad798]
fcomp dword [0x662800]
fnstsw ax
test ah, 0x44
jp 0x4a3e58
mov ecx, dword [esi]
fld qword [ecx + 0x28b0]
mov edx, dword [esi + 0x3ec]
fadd dword [esp + 0x1c]
push ecx
mov ecx, 0x908488
fadd dword [0x5ad750]
fst dword [esp + 0x2c]
fstp dword [esp]
push edx
call fcn.0046a490
test al, al
je 0x4a3e58
fld dword [esp + 0x28]
mov byte [0x680c2d], 1
fstp dword [0x662800]
mov eax, dword [esi + 0x3ec]
mov dword [0x680c30], eax
mov ecx, dword [esi]
call fcn.004da0e0
test al, al
je 0x4a3f43
mov ecx, dword [esi + 0x7c4]
test ecx, ecx
jle 0x4a3e8d
mov edx, dword [esi]
mov eax, dword [edx + 0x3dac]
add eax, 1
cmp eax, ecx
jl 0x4a3e83
lea eax, [ecx - 1]
mov eax, dword [esi + eax*8 + 0x7cc]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x810]
test eax, eax
lea edi, [esi + 0x810]
jne 0x4a3ea2
mov eax, 0x5ad73f
lea ecx, [esp + 0x70]
push ecx
push eax
call fcn.00588710
add esp, 8
test eax, eax
jne 0x4a3f43
mov eax, dword [edi]
test eax, eax
je 0x4a3ecf
cmp byte [eax], 0
je 0x4a3ecf
push 0x5d9cec
mov ecx, edi
call fcn.00566ee0
push 0x67d004
push 0x5f2300
mov ecx, 0x67cff8
call fcn.00422cf0
test eax, eax
je 0x4a3f03
xor eax, eax
lea esp, [esp]
mov cl, byte [eax + 0x5f2300]
mov byte [eax + 0x67d004], cl
add eax, 1
test cl, cl
jne 0x4a3ef0
fld dword [esp + 0x1c]
push 0x67d004
push ecx
fstp dword [esp]
call fcn.00407a80
push eax
lea edx, [esp + 0x78]
push edx
lea eax, [esp + 0xbc]
push str._s__d__s
push eax
call fcn.00589571
add esp, 0x14
lea ecx, [esp + 0xb0]
push ecx
lea ecx, [esi + 0x810]
call fcn.00566ee0
mov esi, dword [esi]
cmp dword [esi + 0x1ff4], 1
jne 0x4a3f63
mov ecx, esi
call fcn.00425120
test eax, eax
je 0x4a3f63
fldz
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esp + 0x1c]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret