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

Disassembly:
push 0xffffffffffffffff
push 0x6a1763
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x84
mov eax, dword [0x8b0a50]
push esi
push edi
mov edi, ecx
mov dword [esp + 0x30], edi
mov dword [esp + 8], eax
lea ecx, [esp + 0x44]
mov dword [esp + 0x94], 0
call fcn.00575430
mov ecx, dword [esp + 0x9c]
push 0x8a07c4
mov byte [esp + 0x98], 1
mov eax, dword [ecx]
push eax
call dword [0x6c748c]
mov esi, eax
add esp, 8
test esi, esi
mov dword [esp + 0x3c], esi
jne 0x4985b1
lea ecx, [esp + 0x44]
mov byte [esp + 0x94], al
call fcn.00470bb0
mov edx, dword [esp + 8]
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x4985aa
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x4985aa
push eax
call dword [0x6c74ac]
add esp, 4
xor al, al
jmp 0x499038
fld dword [edi + 0xe8]
fmul dword [0x6c8a70]
fcomp dword [0x6c8a88]
fld dword [edi + 0xe8]
fmul dword [0x6c8a70]
fnstsw ax
test ah, 1
jne 0x4985de
fadd qword [0x6c8a90]
jmp 0x4985e4
fsub qword [0x6c8a90]
call fcn.00658ed2
push eax
push str.H1G71ZX_d_r_n
push esi
call dword [0x6c7440]
mov ecx, dword [esp + 0xb0]
add esp, 0xc
xor eax, eax
mov ecx, dword [ecx + 4]
test ecx, ecx
jle 0x498fe3
push ebx
push ebp
mov edx, dword [esp + 0xac]
mov ebp, dword [0x6c74ac]
inc eax
mov ecx, dword [edx + 8]
push eax
lea edx, [esp + 0x5c]
push 0x8a07ac
mov ebx, dword [ecx + eax*4 - 4]
push edx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x94], eax
call fcn.00572aa0
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xa0], 2
call fcn.00571160
mov eax, dword [esp + 0x58]
mov byte [esp + 0x9c], 1
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x498677
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x498677
push eax
call ebp
add esp, 4
mov eax, dword [ebx + 0xdc]
xor edi, edi
test eax, eax
jle 0x49880e
mov ecx, dword [ebx + 0xe0]
lea edx, [esp + 0x18]
lea eax, [esp + 0x14]
push edx
mov ecx, dword [ecx + edi*4]
push eax
push 0
call fcn.004710a0
fld dword [esp + 0x18]
fmul dword [0x6c8a7c]
mov al, byte [esp + 0xa8]
test al, al
fcom dword [0x6c8a88]
fnstsw ax
je 0x498764
test ah, 1
jne 0x4986cf
fadd qword [0x6c8a90]
jmp 0x4986d5
fsub qword [0x6c8a90]
call fcn.00658ed2
fld dword [esp + 0x14]
fmul dword [0x6c8a7c]
mov esi, eax
fcom dword [0x6c8a88]
fnstsw ax
test ah, 1
jne 0x4986fb
fadd qword [0x6c8a90]
jmp 0x498701
fsub qword [0x6c8a90]
call fcn.00658ed2
push esi
push eax
lea ecx, [esp + 0x98]
push str.M15M43X_dY_d
push ecx
call fcn.00572aa0
add esp, 0x10
mov eax, dword [eax]
mov byte [esp + 0x9c], 3
mov ecx, dword [eax - 8]
push ecx
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.005712b0
mov edx, dword [esp + 0x90]
mov byte [esp + 0x9c], 1
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x4987ff
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x4987ff
jmp 0x4987f9
test ah, 1
jne 0x498771
fadd qword [0x6c8a90]
jmp 0x498777
fsub qword [0x6c8a90]
call fcn.00658ed2
fld dword [esp + 0x14]
fmul dword [0x6c8a7c]
mov esi, eax
fcom dword [0x6c8a88]
fnstsw ax
test ah, 1
jne 0x49879d
fadd qword [0x6c8a90]
jmp 0x4987a3
fsub qword [0x6c8a90]
call fcn.00658ed2
push esi
push eax
lea eax, [esp + 0x8c]
push str.M15X_dY_dM43
push eax
call fcn.00572aa0
add esp, 0x10
mov eax, dword [eax]
mov byte [esp + 0x9c], 4
mov ecx, dword [eax - 8]
push ecx
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.005712b0
mov ecx, dword [esp + 0x84]
mov byte [esp + 0x9c], 1
lea eax, [ecx - 0xc]
mov ecx, dword [ecx - 0xc]
cmp ecx, 0xffffffff
je 0x4987ff
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x4987ff
push eax
call ebp
add esp, 4
mov eax, dword [ebx + 0xdc]
inc edi
cmp edi, eax
jl 0x498687
mov eax, dword [ebx + 0x44]
xor ebp, ebp
test eax, eax
jle 0x4989c2
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0x48]
mov ebx, dword [eax + ebp*4]
mov al, byte [ebx + 0x1c]
test al, al
je 0x4989b4
mov ecx, ebx
xor edi, edi
call fcn.00471090
test eax, eax
jle 0x4989b4
lea ecx, [esp + 0x18]
lea edx, [esp + 0x14]
push ecx
push edx
push edi
mov ecx, ebx
call fcn.004710a0
fld dword [esp + 0x18]
fmul dword [0x6c8a7c]
test edi, edi
fcom dword [0x6c8a88]
fnstsw ax
jne 0x498909
test ah, 1
jne 0x49887a
fadd qword [0x6c8a90]
jmp 0x498880
fsub qword [0x6c8a90]
call fcn.00658ed2
fld dword [esp + 0x14]
fmul dword [0x6c8a7c]
mov esi, eax
fcom dword [0x6c8a88]
fnstsw ax
test ah, 1
jne 0x4988a6
fadd qword [0x6c8a90]
jmp 0x4988ac
fsub qword [0x6c8a90]
call fcn.00658ed2
push esi
push eax
lea eax, [esp + 0x6c]
push str.M15X_dY_dM14
push eax
call fcn.00572aa0
add esp, 0x10
mov eax, dword [eax]
mov byte [esp + 0x9c], 5
mov ecx, dword [eax - 8]
push ecx
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.005712b0
mov ecx, dword [esp + 0x64]
mov byte [esp + 0x9c], 1
lea eax, [ecx - 0xc]
mov ecx, dword [ecx - 0xc]
cmp ecx, 0xffffffff
je 0x4989a4
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x4989a4
jmp 0x49899a
test ah, 1
jne 0x498916
fadd qword [0x6c8a90]
jmp 0x49891c
fsub qword [0x6c8a90]
call fcn.00658ed2
fld dword [esp + 0x14]
fmul dword [0x6c8a7c]
mov esi, eax
fcom dword [0x6c8a88]
fnstsw ax
test ah, 1
jne 0x498942
fadd qword [0x6c8a90]
jmp 0x498948
fsub qword [0x6c8a90]
call fcn.00658ed2
push esi
push eax
lea edx, [esp + 0x84]
push str.X_dY_d
push edx
call fcn.00572aa0
add esp, 0x10
mov eax, dword [eax]
mov byte [esp + 0x9c], 6
mov ecx, dword [eax - 8]
push ecx
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.005712b0
mov eax, dword [esp + 0x7c]
mov byte [esp + 0x9c], 1
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x4989a4
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x4989a4
push eax
call dword [0x6c74ac]
add esp, 4
mov ecx, ebx
inc edi
call fcn.00471090
cmp edi, eax
jl 0x498841
mov ecx, dword [esp + 0x1c]
inc ebp
cmp ebp, dword [ecx + 0x44]
jl 0x49881b
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
lea edx, [esp + 0x4c]
push edx
push eax
call fcn.0049d600
mov eax, dword [esp + 0x50]
xor esi, esi
test eax, eax
mov dword [esp + 0x3c], esi
jle 0x498dbb
mov ebp, dword [0x6c74ac]
mov ecx, dword [esp + 0x54]
xor edi, edi
mov dword [esp + 0x2c], edi
mov ebx, dword [ecx + esi*4]
mov ecx, ebx
mov dword [esp + 0x48], ebx
call fcn.00471090
test eax, eax
jle 0x498daa
lea edx, [esp + 0x18]
lea eax, [esp + 0x14]
push edx
push eax
push edi
mov ecx, ebx
call fcn.004710a0
test edi, edi
jne 0x498ae5
fld dword [esp + 0x18]
fmul dword [0x6c8a7c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
fcom dword [0x6c8a88]
fnstsw ax
test ah, 1
jne 0x498a56
fadd qword [0x6c8a90]
jmp 0x498a5c
fsub qword [0x6c8a90]
call fcn.00658ed2
fld dword [esp + 0x14]
fmul dword [0x6c8a7c]
mov esi, eax
fcom dword [0x6c8a88]
fnstsw ax
test ah, 1
jne 0x498a82
fadd qword [0x6c8a90]
jmp 0x498a88
fsub qword [0x6c8a90]
call fcn.00658ed2
push esi
push eax
lea eax, [esp + 0x74]
push str.M15X_dY_dM14
push eax
call fcn.00572aa0
add esp, 0x10
mov eax, dword [eax]
mov byte [esp + 0x9c], 7
mov ecx, dword [eax - 8]
push ecx
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.005712b0
mov ecx, dword [esp + 0x6c]
mov byte [esp + 0x9c], 1
lea eax, [ecx - 0xc]
mov ecx, dword [ecx - 0xc]
cmp ecx, 0xffffffff
je 0x498d92
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x498d92
jmp 0x498d8c
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x60], edx
add ecx, 0xcc
mov dword [esp + 0x68], eax
lea edx, [esp + 0x8c]
push ecx
lea eax, [esp + 0x78]
push edx
lea ecx, [esp + 0x3c]
push eax
mov eax, dword [esp + 0x24]
lea edx, [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x3c]
push eax
mov eax, dword [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x54]
push edx
push eax
call fcn.00499060
test al, al
je 0x498cdc
fld dword [esp + 0x34]
fmul dword [0x6c8a7c]
fst dword [esp + 0x20]
fcomp dword [0x6c8a88]
fld dword [esp + 0x20]
fnstsw ax
test ah, 1
jne 0x498b63
fadd qword [0x6c8a90]
jmp 0x498b69
fsub qword [0x6c8a90]
call fcn.00658ed2
fld dword [esp + 0x30]
fmul dword [0x6c8a7c]
mov dword [esp + 0x40], eax
fcom dword [0x6c8a88]
fld st(0)
fnstsw ax
test ah, 1
jne 0x498b93
fadd qword [0x6c8a90]
jmp 0x498b99
fsub qword [0x6c8a90]
call fcn.00658ed2
fld dword [esp + 0x8c]
fmul dword [0x6c8a7c]
mov ebx, eax
fcom dword [0x6c8a88]
fnstsw ax
test ah, 1
jne 0x498bc2
fadd qword [0x6c8a90]
jmp 0x498bc8
fsub qword [0x6c8a90]
call fcn.00658ed2
fld dword [esp + 0x74]
fmul dword [0x6c8a7c]
mov ebp, eax
fcom dword [0x6c8a88]
fnstsw ax
test ah, 1
jne 0x498bee
fadd qword [0x6c8a90]
jmp 0x498bf4
fsub qword [0x6c8a90]
call fcn.00658ed2
fld dword [esp + 0x20]
fcomp dword [0x6c8a88]
fld dword [esp + 0x20]
mov edi, eax
fnstsw ax
test ah, 1
jne 0x498c18
fadd qword [0x6c8a90]
jmp 0x498c1e
fsub qword [0x6c8a90]
call fcn.00658ed2
fcom dword [0x6c8a88]
mov esi, eax
fnstsw ax
test ah, 1
jne 0x498c3a
fadd qword [0x6c8a90]
jmp 0x498c40
fsub qword [0x6c8a90]
call fcn.00658ed2
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0x5c]
push ecx
push ebx
push ebp
push edi
push esi
push eax
push str.X_dY_dM19X_dY_dM15X_dY_dM14
push edx
call fcn.00572aa0
add esp, 0x20
mov eax, dword [eax]
mov byte [esp + 0x9c], 8
mov ecx, dword [eax - 8]
push ecx
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.005712b0
mov eax, dword [esp + 0x5c]
mov byte [esp + 0x9c], 1
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x498ca1
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x498ca1
push eax
call dword [0x6c74ac]
add esp, 4
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x4c]
push edx
push eax
call fcn.00471170
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x48]
mov edi, dword [esp + 0x2c]
mov ebp, dword [0x6c74ac]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
jmp 0x498d92
fld dword [esp + 0x18]
fmul dword [0x6c8a7c]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
fcom dword [0x6c8a88]
fnstsw ax
test ah, 1
jne 0x498d0b
fadd qword [0x6c8a90]
jmp 0x498d11
fsub qword [0x6c8a90]
call fcn.00658ed2
fld dword [esp + 0x14]
fmul dword [0x6c8a7c]
mov esi, eax
fcom dword [0x6c8a88]
fnstsw ax
test ah, 1
jne 0x498d37
fadd qword [0x6c8a90]
jmp 0x498d3d
fsub qword [0x6c8a90]
call fcn.00658ed2
push esi
push eax
lea edx, [esp + 0x78]
push str.X_dY_d
push edx
call fcn.00572aa0
add esp, 0x10
mov eax, dword [eax]
mov byte [esp + 0x9c], 9
mov ecx, dword [eax - 8]
push ecx
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.005712b0
mov eax, dword [esp + 0x70]
mov byte [esp + 0x9c], 1
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x498d92
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x498d92
push eax
call ebp
add esp, 4
inc edi
mov ecx, ebx
mov dword [esp + 0x2c], edi
call fcn.00471090
cmp edi, eax
jl 0x498a0d
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x50]
inc esi
cmp esi, eax
mov dword [esp + 0x3c], esi
jl 0x4989ed
lea ecx, [esp + 0x4c]
call fcn.00470c60
lea ecx, [esp + 0x4c]
call fcn.005758b0
mov esi, dword [esp + 0x1c]
xor ebp, ebp
mov eax, dword [esi + 0xd0]
test eax, eax
jle 0x498f73
mov ecx, dword [esi + 0xd4]
xor edi, edi
mov ebx, dword [ecx + ebp*4]
lea edx, [esp + 0x18]
lea eax, [esp + 0x14]
push edx
push eax
push edi
mov ecx, ebx
call fcn.004710a0
fld dword [esp + 0x18]
fmul dword [0x6c8a7c]
test edi, edi
fcom dword [0x6c8a88]
fnstsw ax
jne 0x498eb7
test ah, 1
jne 0x498e25
fadd qword [0x6c8a90]
jmp 0x498e2b
fsub qword [0x6c8a90]
call fcn.00658ed2
fld dword [esp + 0x14]
fmul dword [0x6c8a7c]
mov esi, eax
fcom dword [0x6c8a88]
fnstsw ax
test ah, 1
jne 0x498e51
fadd qword [0x6c8a90]
jmp 0x498e57
fsub qword [0x6c8a90]
call fcn.00658ed2
push esi
push eax
lea ecx, [esp + 0x80]
push str.M15X_dY_dM19
push ecx
call fcn.00572aa0
add esp, 0x10
mov eax, dword [eax]
mov byte [esp + 0x9c], 0xa
mov ecx, dword [eax - 8]
push ecx
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.005712b0
mov edx, dword [esp + 0x78]
mov byte [esp + 0x9c], 1
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x498f56
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x498f56
jmp 0x498f4c
test ah, 1
jne 0x498ec4
fadd qword [0x6c8a90]
jmp 0x498eca
fsub qword [0x6c8a90]
call fcn.00658ed2
fld dword [esp + 0x14]
fmul dword [0x6c8a7c]
mov esi, eax
fcom dword [0x6c8a88]
fnstsw ax
test ah, 1
jne 0x498ef0
fadd qword [0x6c8a90]
jmp 0x498ef6
fsub qword [0x6c8a90]
call fcn.00658ed2
push esi
push eax
lea eax, [esp + 0x88]
push str.X_dY_d
push eax
call fcn.00572aa0
add esp, 0x10
mov eax, dword [eax]
mov byte [esp + 0x9c], 0xb
mov ecx, dword [eax - 8]
push ecx
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.005712b0
mov ecx, dword [esp + 0x80]
mov byte [esp + 0x9c], 1
lea eax, [ecx - 0xc]
mov ecx, dword [ecx - 0xc]
cmp ecx, 0xffffffff
je 0x498f56
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x498f56
push eax
call dword [0x6c74ac]
add esp, 4
inc edi
cmp edi, 2
jl 0x498dec
mov edx, dword [esp + 0x1c]
inc ebp
mov esi, edx
cmp ebp, dword [edx + 0xd0]
jl 0x498de1
mov eax, str.M15_r_n
test eax, eax
je 0x498f8a
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jmp 0x498f8c
xor ecx, ecx
push ecx
push str.M15_r_n
push ecx
lea ecx, [esp + 0x1c]
call fcn.005712b0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x44]
push ecx
push edx
call dword [0x6c7440]
add esp, 8
lea ecx, [esp + 0x10]
push 0
call fcn.005728d0
test esi, esi
je 0x498fc6
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax]
mov ecx, dword [esp + 0xac]
mov eax, dword [esp + 0x88]
cmp eax, dword [ecx + 4]
jl 0x49860f
mov esi, dword [esp + 0x44]
pop ebp
pop ebx
mov ecx, dword [esp + 0xa4]
call fcn.005758b0
push 0x8a0734
push esi
call dword [0x6c7440]
push esi
call dword [0x6c7494]
add esp, 0xc
lea ecx, [esp + 0x44]
mov byte [esp + 0x94], 0
call fcn.00470bb0
mov edx, dword [esp + 8]
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x499036
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x499036
push eax
call dword [0x6c74ac]
add esp, 4
mov al, 1
mov ecx, dword [esp + 0x8c]
pop edi
pop esi
mov dword fs:[0], ecx
add esp, 0x90
ret 0xc