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

Disassembly:
push ebx
push esi
push edi
mov edi, dword [0x8f5f7c]
mov eax, edi
push ebp
sub esp, 0x160
cmp eax, 1
mov ebp, ecx
ja case.default.0x481229
jmp dword [eax*4 + 0x5f4490]
fld dword [0x5f3868]
jmp 0x48123e
fld dword [0x5f386c]
fstp dword [esp + 0xc]
call fcn.00501cf0
mov ecx, ebp
push dword [0x5f3540]
call fcn.0048ac20
mov ecx, ebp
fstp dword [esp + 0x14]
push dword [0x5f3540]
call fcn.0048abe0
fstp dword [esp + 0x18]
push dword [esp + 0x14]
push dword [esp + 0x1c]
call fcn.00501b80
pop ecx
pop ecx
call fcn.00501da0
call fcn.00501cb0
call fcn.00501c60
call fcn.00501d70
call fcn.00501d30
mov eax, dword [0x8f436c]
add eax, 0xffffffd8
mov dword [esp + 0xa8], eax
push eax
fild dword [esp + 0xac]
fstp dword [esp]
call fcn.00501cc0
pop ecx
push dword [0x5f3528]
call fcn.00501dc0
pop ecx
mov ecx, ebp
push 0xff
call fcn.0048ac60
lea ecx, [esp + 0x12c]
push eax
push 0
push 0
push 0
call fcn.004f8c20
lea eax, [esp + 0x12c]
push eax
call fcn.00501bd0
pop ecx
call fcn.00501d50
mov ecx, ebp
push dword [0x5f352c]
call fcn.0048ac20
mov ecx, ebp
fstp dword [esp + 0x1c]
push dword [0x5f3530]
call fcn.0048abe0
fstp dword [esp + 0x20]
push dword [esp + 0x1c]
push dword [esp + 0x24]
call fcn.00501b80
pop ecx
pop ecx
push 2
call fcn.00501db0
mov edx, dword [0x8f5f7c]
pop ecx
mov eax, edx
cmp eax, 1
ja case.default.0x481339
jmp dword [eax*4 + 0x5f4488]
mov ecx, ebp
push dword [0x5f3534]
call fcn.0048ac20
fisubr dword [0x8f4370]
mov ecx, ebp
push dword [0x5f3538]
fstp dword [esp + 0x28]
call fcn.0048abe0
fisubr dword [0x8f436c]
mov ecx, 0x941520
fstp dword [esp + 0x28]
mov eax, dword [ebp + 0x548]
imul eax, eax, 0x184
add eax, 0x611930
push eax
call fcn.0052c5a0
push eax
push dword [esp + 0x28]
push dword [esp + 0x30]
jmp 0x4813db
mov ecx, ebp
push dword [0x5f3534]
call fcn.0048ac20
fisubr dword [0x8f4370]
mov ecx, ebp
push dword [0x5f3538]
fstp dword [esp + 0x30]
call fcn.0048abe0
fisubr dword [0x8f436c]
mov ecx, 0x941520
push 0x5f3870
fstp dword [esp + 0x34]
call fcn.0052c5a0
push eax
push dword [esp + 0x30]
push dword [esp + 0x38]
call fcn.00500f50
add esp, 0xc
mov ecx, 0x941520
push str.FEC_FIR
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0xb0], eax
push str.FEC_NWE
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0xb4], eax
push str.FEC_PWE
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0xb8], eax
push str.FEC_FOR
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0xbc], eax
push str.FEC_BAC
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0xc0], eax
push str.FEC_LEF
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0xc4], eax
push str.FEC_RIG
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0xc8], eax
push str.FEC_ZIN
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0xcc], eax
push str.FEC_ZOT
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0xd0], eax
push str.FEC_EEX
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0xd4], eax
push str.FEC_RAD
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0xd8], eax
push 0x5f38d0
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0xdc], eax
push str.FEC_SUB
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0xe0], eax
push str.FEC_CMR
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0xe4], eax
push str.FEC_JMP
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0xe8], eax
push str.FEC_SPN
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0xec], eax
push str.FEC_HND
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0xf0], eax
push str.FEC_TAR
call fcn.0052c5a0
cmp dword [0x8f5f7c], 1
mov dword [esp + 0xf4], eax
jne 0x481694
mov ecx, 0x941520
push str.FEC_TFL
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0xf8], eax
push str.FEC_TFR
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0xfc], eax
push str.FEC_TFU
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0x100], eax
push str.FEC_TFD
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0x104], eax
push str.FEC_LBA
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0x108], eax
push str.FEC_LOL
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0x10c], eax
push str.FEC_LOR
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0x110], eax
push str.FEC_LUD
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0x114], eax
push str.FEC_LDU
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0x118], eax
push str.FEC_NTR
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0x11c], eax
push str.FEC_PTT
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0x120], eax
push str.FEC_CEN
call fcn.0052c5a0
mov dword [esp + 0x128], 0
mov dword [esp + 0x124], eax
jmp 0x481739
mov ecx, 0x941520
push str.FEC_TFL
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0xf8], eax
push str.FEC_TFR
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0xfc], eax
push str.FEC_TFU
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0x100], eax
push str.FEC_TFD
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0x104], eax
push str.FEC_LBA
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0x108], eax
push str.FEC_LOL
call fcn.0052c5a0
mov ecx, 0x941520
mov dword [esp + 0x10c], eax
push str.FEC_LOR
call fcn.0052c5a0
mov dword [esp + 0x114], 0
mov dword [esp + 0x110], eax
mov ecx, ebp
push 0x32
call fcn.0048ac60
lea ecx, [esp + 0x140]
push eax
push 0x32
push 0xc8
push 0xc8
call fcn.004f8c20
mov ecx, ebp
push dword [0x5f3968]
call fcn.0048ac20
fisubr dword [0x8f4370]
mov ecx, ebp
push dword [0x5f37fc]
fstp dword [esp + 0x38]
call fcn.0048abe0
fisubr dword [0x8f436c]
mov ecx, ebp
push dword [0x5f36d4]
fstp dword [esp + 0x3c]
call fcn.0048ac20
mov ecx, ebp
fstp dword [esp + 0x3c]
push dword [0x5f37fc]
call fcn.0048abe0
lea eax, [esp + 0x140]
lea ecx, [esp + 0x130]
push eax
fstp dword [esp + 0x44]
push dword [esp + 0x38]
push dword [esp + 0x40]
push dword [esp + 0x48]
push dword [esp + 0x50]
call fcn.004ba330
push eax
call fcn.0051f970
cmp byte [ebp + 0x536], 0x13
pop ecx
pop ecx
jne 0x481810
mov ecx, ebp
push 0xff
call fcn.0048ac60
lea ecx, [esp + 0x144]
push eax
push 0x6a
push 0xd9
push 0xff
call fcn.004f8c20
lea eax, [esp + 0x144]
jmp 0x48183c
mov ecx, ebp
push 0xff
call fcn.0048ac60
lea ecx, [esp + 0x148]
push eax
push 0x32
push 0xaa
push 0xeb
call fcn.004f8c20
lea eax, [esp + 0x148]
push eax
call fcn.00501bd0
pop ecx
push 2
call fcn.00501db0
pop ecx
mov ecx, ebp
push dword [0x5f3540]
call fcn.0048ac20
mov ecx, ebp
fstp dword [esp + 0x44]
push dword [0x5f3540]
call fcn.0048abe0
fstp dword [esp + 0x48]
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.00501b80
pop ecx
pop ecx
call fcn.00501d70
mov ecx, ebp
push dword [0x5f36d4]
call fcn.0048ac20
mov ecx, ebp
fstp dword [esp + 0x4c]
push dword [0x5f350c]
call fcn.0048abe0
mov ecx, 0x941520
fstp dword [esp + 0x50]
push 0x5f396c
call fcn.0052c5a0
push eax
push dword [esp + 0x50]
push dword [esp + 0x58]
call fcn.00500f50
add esp, 0xc
mov ecx, ebp
push dword [0x5f36d4]
call fcn.0048ac20
mov ecx, ebp
fstp dword [esp + 0x54]
push dword [0x5f3504]
call fcn.0048abe0
mov ecx, 0x941520
fstp dword [esp + 0x58]
push str.FET_CFT
call fcn.0052c5a0
push eax
push dword [esp + 0x58]
push dword [esp + 0x60]
call fcn.00500f50
add esp, 0xc
mov ecx, ebp
push dword [0x5f36d4]
call fcn.0048ac20
mov ecx, ebp
fstp dword [esp + 0x5c]
push dword [0x5f397c]
call fcn.0048abe0
mov ecx, 0x941520
fstp dword [esp + 0x60]
push 0x5f3980
call fcn.0052c5a0
push eax
push dword [esp + 0x60]
push dword [esp + 0x68]
call fcn.00500f50
add esp, 0xc
call fcn.00501d70
mov ecx, ebp
push dword [0x5f37e4]
call fcn.0048ac20
mov ecx, ebp
fstp dword [esp + 0x64]
push dword [0x5f37f4]
call fcn.0048abe0
fstp dword [esp + 0x68]
push dword [esp + 0x64]
push dword [esp + 0x6c]
call fcn.00501b80
pop ecx
pop ecx
push 0
call fcn.00501db0
xor ebx, ebx
cmp dword [0x8f5f7c], 1
pop ecx
jne 0x481997
mov esi, 0x31
jmp 0x48199c
mov esi, 0x36
mov dword [esp + 0xa8], esi
xor edi, edi
fild dword [esp + 0xa8]
fadd dword [esp + 0xc]
fstp dword [esp + 0xa0]
jmp 0x481d14
mov ecx, ebp
push dword [0x5f3818]
call fcn.0048abe0
fild dword [ebp + 0x118]
fcompp
fnstsw ax
test ah, 0x45
jne 0x481bce
mov ecx, ebp
push dword [0x5f3988]
call fcn.0048abe0
fild dword [ebp + 0x118]
fcompp
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x481bce
mov dword [esp + 0xa8], ebx
push eax
fild dword [esp + 0xac]
mov dword [esp + 0xac], esi
mov ecx, ebp
fmul dword [esp + 0x10]
fstp dword [esp + 0xa8]
fild dword [esp + 0xac]
fadd dword [esp + 0xa8]
fstp dword [esp]
call fcn.0048ac20
fild dword [ebp + 0x11c]
fcompp
fnstsw ax
test ah, 0x45
jne 0x481bce
fld dword [esp + 0xa0]
fadd dword [esp + 0xa4]
push eax
mov ecx, ebp
fstp dword [esp]
call fcn.0048ac20
fild dword [ebp + 0x11c]
fcompp
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x481bce
cmp dword [ebp + 0x550], edi
je 0x481aa0
cmp byte [ebp + 0x536], 0x13
jne 0x481aa0
mov ecx, 0x95cdbe
push 0
push 0x97
call fcn.0057cc20
mov dword [ebp + 0x550], edi
mov ecx, dword [ebp + 0x53c]
mov eax, dword [ebp + 0x118]
cmp ecx, eax
jne 0x481aca
mov eax, dword [ebp + 0x11c]
mov edx, dword [ebp + 0x540]
cmp edx, eax
je 0x481b8f
mov byte [ebp + 0x536], 0x13
mov dword [ebp + 0x44c], edi
cmp dword [ebp + 0x118], 0
jle 0x481b30
mov ecx, ebp
push dword [0x5f3714]
call fcn.0048abe0
fild dword [ebp + 0x118]
fcompp
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x481b30
cmp dword [ebp + 0x530], 0
je 0x481b22
cmp byte [ebp + 0x536], 0x13
jne 0x481b22
mov ecx, 0x95cdbe
push 0
push 0x97
call fcn.0057cc20
mov dword [ebp + 0x530], 0
jmp 0x481b8f
mov ecx, ebp
push dword [0x5f3714]
call fcn.0048abe0
mov ecx, dword [ebp + 0x118]
mov dword [esp + 0xa8], ecx
fild dword [esp + 0xa8]
fcompp
fnstsw ax
test ah, 0x45
jne 0x481b8f
cmp ecx, dword [0x8f436c]
jge 0x481b8f
cmp dword [ebp + 0x530], 0xe
je 0x481b85
cmp byte [ebp + 0x536], 0x13
jne 0x481b85
mov ecx, 0x95cdbe
push 0
push 0x97
call fcn.0057cc20
mov dword [ebp + 0x530], 0xe
cmp dword [ebp + 0x544], 0x14
jne 0x481bc4
cmp edi, dword [ebp + 0x44c]
jne 0x481bce
mov dword [ebp + 0x544], 0x2a
mov byte [ebp + 0x113], 1
mov byte [ebp + 0x456], 1
mov dword [0x628d08], 0x5f2e70
jmp 0x481bce
mov dword [ebp + 0x544], 0x2a
cmp ebx, dword [ebp + 0x44c]
je 0x481c04
mov ecx, ebp
push 0xff
call fcn.0048ac60
lea ecx, [esp + 0x14c]
push eax
push 0x32
push 0xaa
push 0xeb
call fcn.004f8c20
lea eax, [esp + 0x14c]
jmp 0x481c39
cmp byte [ebp + 0x536], 0x13
jne 0x481c40
mov ecx, ebp
push 0xff
call fcn.0048ac60
lea ecx, [esp + 0x150]
push eax
push 0x6a
push 0xd9
push 0xff
call fcn.004f8c20
lea eax, [esp + 0x150]
push eax
call fcn.00501bd0
pop ecx
call fcn.00501d70
cmp dword [0x941238], 2
jne 0x481c84
cmp edi, 0x14
je 0x481c58
cmp edi, 0x15
jne 0x481c84
mov ecx, ebp
push dword [0x5f37e4]
call fcn.0048ac20
mov ecx, ebp
fstp dword [esp + 0x6c]
push dword [0x5f398c]
call fcn.0048abe0
fstp dword [esp + 0x70]
push dword [esp + 0x6c]
push dword [esp + 0x74]
jmp 0x481cae
mov ecx, ebp
push dword [0x5f37e4]
call fcn.0048ac20
mov ecx, ebp
fstp dword [esp + 0x74]
push dword [0x5f37f4]
call fcn.0048abe0
fstp dword [esp + 0x78]
push dword [esp + 0x74]
push dword [esp + 0x7c]
call fcn.00501b80
pop ecx
pop ecx
mov dword [esp + 0xa8], ebx
push eax
fild dword [esp + 0xac]
mov dword [esp + 0xac], esi
mov ecx, ebp
fmul dword [esp + 0x10]
fiadd dword [esp + 0xac]
fstp dword [esp]
call fcn.0048ac20
mov ecx, ebp
fstp dword [esp + 0x7c]
push dword [0x5f350c]
call fcn.0048abe0
fstp dword [esp + 0x80]
push dword [esp + 4]
push dword [esp + 0x80]
push dword [esp + 0x88]
call fcn.00500f50
inc ebx
add esp, 0xc
inc edi
cmp edi, 0x1f
jge 0x481d2c
mov eax, dword [esp + edi*4 + 0xb0]
test eax, eax
mov dword [esp + 4], eax
jne 0x4819c0
fld dword [esp + 0xc]
fnstcw word [esp + 8]
mov eax, dword [esp + 8]
or byte [esp + 9], 0xc
fldcw word [esp + 8]
mov dword [esp + 8], eax
mov ecx, ebp
fistp dword [esp + 0xa8]
fldcw word [esp + 8]
mov ebx, dword [esp + 0xa8]
push 0
push ebx
push dword [0x5f3504]
call fcn.0048abe0
fnstcw word [esp + 0x10]
mov eax, dword [esp + 0x10]
or byte [esp + 0x11], 0xc
fldcw word [esp + 0x10]
mov dword [esp + 0x10], eax
mov ecx, ebp
fistp dword [esp + 0xb0]
fldcw word [esp + 0x10]
mov eax, dword [esp + 0xb0]
push eax
push esi
call fcn.00489710
mov ecx, ebp
push 0xe
push ebx
push dword [0x5f397c]
call fcn.0048abe0
fnstcw word [esp + 0x10]
mov eax, dword [esp + 0x10]
or byte [esp + 0x11], 0xc
fldcw word [esp + 0x10]
mov dword [esp + 0x10], eax
mov ecx, ebp
fistp dword [esp + 0xb0]
fldcw word [esp + 0x10]
mov eax, dword [esp + 0xb0]
push eax
push esi
call fcn.00489710
mov ecx, ebp
push dword [0x5f2e44]
call fcn.0048ac20
mov ecx, ebp
fstp dword [esp + 0x84]
push dword [0x5f2e40]
call fcn.0048abe0
fstp dword [esp + 0x88]
push dword [esp + 0x84]
push dword [esp + 0x8c]
call fcn.00501b80
pop ecx
pop ecx
mov ecx, 0x941520
push 1
push 0x5f3854
call fcn.0052c5a0
push eax
call fcn.005018a0
pop ecx
pop ecx
mov ecx, ebp
fstp dword [esp + 0x10]
push dword [0x5f3538]
call fcn.0048abe0
fisubr dword [0x8f436c]
fsub dword [esp + 0x10]
fstp dword [esp + 0x8c]
fild dword [ebp + 0x118]
fcomp dword [esp + 0x8c]
fnstsw ax
test ah, 0x45
jne 0x481ecf
mov ecx, ebp
push dword [0x5f3538]
call fcn.0048abe0
fisubr dword [0x8f436c]
fild dword [ebp + 0x118]
fcompp
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x481ecf
mov ecx, ebp
push dword [0x5f3728]
call fcn.0048ac20
fisubr dword [0x8f4370]
fild dword [ebp + 0x11c]
fcompp
fnstsw ax
test ah, 0x45
jne 0x481ecf
mov ecx, ebp
push dword [0x5f3990]
call fcn.0048ac20
fisubr dword [0x8f4370]
fild dword [ebp + 0x11c]
fcompp
fnstsw ax
and ah, 5
cmp ah, 1
je 0x481ed8
cmp byte [ebp + 0x536], 9
jne 0x481ee7
mov dword [ebp + 0x544], 9
jmp 0x481f7a
mov ecx, ebp
push dword [0x5f3818]
call fcn.0048abe0
fild dword [ebp + 0x118]
fcompp
fnstsw ax
test ah, 0x45
jne 0x481f70
mov ecx, ebp
push dword [0x5f3988]
call fcn.0048abe0
fild dword [ebp + 0x118]
fcompp
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x481f70
mov ecx, ebp
push dword [0x5f3864]
call fcn.0048ac20
fild dword [ebp + 0x11c]
fcompp
fnstsw ax
test ah, 0x45
jne 0x481f70
mov ecx, ebp
push dword [0x5f37d0]
call fcn.0048ac20
fisubr dword [0x8f4370]
fild dword [ebp + 0x11c]
fcompp
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x481f70
mov dword [ebp + 0x544], 0x13
jmp 0x481f7a
mov dword [ebp + 0x544], 0x2a
push 2
call fcn.00501db0
pop ecx
mov ecx, ebp
push dword [0x5f2e44]
call fcn.0048ac20
mov ecx, ebp
fstp dword [esp + 0x90]
push dword [0x5f2e40]
call fcn.0048abe0
fstp dword [esp + 0x94]
push dword [esp + 0x90]
push dword [esp + 0x98]
call fcn.00501b80
pop ecx
pop ecx
call fcn.00501d50
mov ecx, ebp
push 0x5a
call fcn.0048ac60
lea ecx, [esp + 0x154]
push eax
push 0
push 0
push 0
call fcn.004f8c20
lea eax, [esp + 0x154]
push eax
call fcn.00501bd0
mov byte [esp + 4], 0
pop ecx
movsx ebx, byte [esp]
mov eax, 0x76
mov ecx, ebp
sub eax, ebx
mov dword [esp + 0xa8], eax
push eax
fild dword [esp + 0xac]
fstp dword [esp]
call fcn.0048ac20
fisubr dword [0x8f4370]
mov eax, 0x21
mov ecx, ebp
sub eax, ebx
mov dword [esp + 0xa8], eax
push eax
fstp dword [esp + 0x9c]
fild dword [esp + 0xac]
fstp dword [esp]
call fcn.0048abe0
fisubr dword [0x8f436c]
mov ecx, 0x941520
push 0x5f3854
fstp dword [esp + 0xa0]
call fcn.0052c5a0
push eax
push dword [esp + 0x9c]
push dword [esp + 0xa4]
call fcn.00500f50
add esp, 0xc
cmp dword [ebp + 0x544], 9
jne 0x4820b0
mov ecx, ebp
push 0xff
call fcn.0048ac60
lea ecx, [esp + 0x158]
push eax
push 0x6a
push 0xd9
push 0xff
call fcn.004f8c20
lea eax, [esp + 0x158]
jmp 0x4820dc
mov ecx, ebp
push 0xff
call fcn.0048ac60
lea ecx, [esp + 0x15c]
push eax
push 0x32
push 0xaa
push 0xeb
call fcn.004f8c20
lea eax, [esp + 0x15c]
push eax
call fcn.00501bd0
pop ecx
inc byte [esp]
cmp byte [esp], 1
jle 0x481ff3
add esp, 0x160
pop ebp
pop edi
pop esi
pop ebx
ret