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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x2f
push 0
push 0
dec ecx
jne 0x498808
push ecx
push ebx
push esi
push edi
mov ebx, edx
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x4993e2
push dword fs:[eax]
mov dword fs:[eax], esp
mov ecx, ebx
mov dl, 1
mov eax, dword [0x4978e0]
call fcn.00497964
mov edx, dword [ebp - 8]
mov dword [edx + 0x88], eax
mov eax, dword [ebp - 8]
call fcn.00498480
push 0
push 0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x88]
mov edx, dword [eax]
call dword [edx + 8]
xor edx, edx
push ebp
push 0x49938c
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x88]
call fcn.004121b0
cmp ax, 0xd8ff
jne 0x499382
push 9
lea edx, [ebp - 0x12]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x88]
mov ecx, 0x7ffffffe
call fcn.00412134
cmp word [ebp - 0x12], 0xe0ff
jne 0x4988c7
push 0
push 0x14
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x88]
mov edx, dword [eax]
call dword [edx + 8]
push 9
lea edx, [ebp - 0x12]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x88]
mov ecx, 0x7ffffffe
call fcn.00412134
cmp word [ebp - 0x12], 0xe1ff
je 0x498990
mov eax, 0x7d0
call fcn.00402eac
mov esi, eax
push 0x7d0
mov edx, esi
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x88]
mov ecx, 0x7ffffffe
call fcn.00412134
mov edi, eax
test edi, edi
jle 0x498989
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x88]
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 4]
push edx
push eax
mov eax, edi
cdq
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
push edx
push eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 8]
xor ebx, ebx
jmp 0x498980
lea eax, [esi + ebx]
cmp word [eax], 0xe1ff
jne 0x49897f
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x88]
mov edx, dword [eax]
call dword [edx + 4]
push edx
push eax
mov eax, ebx
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
push edx
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x88]
mov edx, dword [eax]
call dword [edx + 8]
push 9
lea edx, [ebp - 0x12]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x88]
mov ecx, 0x7ffffffe
call fcn.00412134
jmp 0x498989
inc ebx
mov eax, edi
sub eax, 2
cmp ebx, eax
jl 0x49892e
mov eax, esi
call fcn.00402ec8
cmp word [ebp - 0x12], 0xe1ff
jne 0x499382
mov eax, dword [ebp - 8]
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x88]
mov edx, dword [eax]
call dword [edx + 4]
inc eax
mov dword [ebp - 0x18], eax
push 0xb
lea edx, [ebp - 0x2b]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x88]
mov ecx, 0x7ffffffe
call fcn.00412134
cmp word [ebp - 0x2a], 0x4d4d
sete al
mov edx, dword [ebp - 8]
mov byte [edx + 0x90], al
test al, al
je 0x4989f8
mov eax, dword [ebp - 0x26]
call fcn.00497c70
mov dword [ebp - 0x26], eax
movzx eax, word [ebp - 0x22]
xchg al, ah
mov word [ebp - 0x22], ax
cmp dword [ebp - 0x26], 8
je 0x498a32
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x88]
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 4]
push edx
push eax
mov eax, dword [ebp - 0x26]
cdq
xor eax, edx
sub eax, edx
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
sub eax, 8
sbb edx, 0
push edx
push eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 8]
cmp word [ebp - 0x22], 0
jne 0x498a3f
mov word [ebp - 0x22], 0x64
movzx eax, word [ebp - 0x22]
test eax, eax
jle 0x498cbb
mov dword [ebp - 0x20], eax
lea edx, [ebp - 0x37]
mov eax, dword [ebp - 8]
call fcn.00497c74
movzx eax, word [ebp - 0x37]
cmp eax, 0x11b
jg 0x498aac
je 0x498c70
cmp eax, 0x110
jg 0x498a93
je 0x498b44
sub eax, 1
jb 0x498cbb
sub eax, 0x10d
je 0x498af4
dec eax
je 0x498b1c
jmp 0x498cb2
sub eax, 0x112
je 0x498b6c
sub eax, 8
je 0x498c5a
jmp 0x498cb2
cmp eax, 0x8298
jg 0x498ad9
je 0x498bd5
sub eax, 0x131
je 0x498bfd
dec eax
je 0x498bad
sub eax, 9
je 0x498c25
jmp 0x498cb2
sub eax, 0x8769
je 0x498c4c
sub eax, 0xb1d
je 0x498c86
jmp 0x498cb2
lea eax, [ebp - 0x3c]
push eax
mov edx, dword [ebp - 0x2f]
add edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x33]
mov eax, dword [ebp - 8]
call fcn.00497d04
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
add eax, 4
call fcn.00404dd8
jmp 0x498cb2
lea eax, [ebp - 0x40]
push eax
mov edx, dword [ebp - 0x2f]
add edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x33]
mov eax, dword [ebp - 8]
call fcn.00497d04
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 8]
add eax, 8
call fcn.00404dd8
jmp 0x498cb2
lea eax, [ebp - 0x44]
push eax
mov edx, dword [ebp - 0x2f]
add edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x33]
mov eax, dword [ebp - 8]
call fcn.00497d04
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 8]
add eax, 0xc
call fcn.00404dd8
jmp 0x498cb2
mov eax, dword [ebp - 8]
movzx ebx, byte [ebp - 0x2f]
mov byte [eax + 0x10], bl
mov eax, ebx
dec eax
sub al, 8
jae 0x498b97
mov eax, dword [ebp - 8]
add eax, 0x14
movzx edx, bl
mov edx, dword [edx*4 + 0x515d24]
call fcn.00404dd8
jmp 0x498cb2
mov eax, dword [ebp - 8]
add eax, 0x14
mov edx, dword [0x515d48]
call fcn.00404dd8
jmp 0x498cb2
lea eax, [ebp - 0x48]
push eax
mov edx, dword [ebp - 0x2f]
add edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x33]
mov eax, dword [ebp - 8]
call fcn.00497d04
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 8]
add eax, 0x20
call fcn.00404dd8
jmp 0x498cb2
lea eax, [ebp - 0x4c]
push eax
mov edx, dword [ebp - 0x2f]
add edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x33]
mov eax, dword [ebp - 8]
call fcn.00497d04
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 8]
add eax, 0x18
call fcn.00404dd8
jmp 0x498cb2
lea eax, [ebp - 0x50]
push eax
mov edx, dword [ebp - 0x2f]
add edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x33]
mov eax, dword [ebp - 8]
call fcn.00497d04
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 8]
add eax, 0x7c
call fcn.00404dd8
jmp 0x498cb2
lea eax, [ebp - 0x54]
push eax
mov edx, dword [ebp - 0x2f]
add edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x33]
mov eax, dword [ebp - 8]
call fcn.00497d04
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 8]
add eax, 0x80
call fcn.00404dd8
jmp 0x498cb2
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x2f]
mov dword [eax + 0x8c], edx
jmp 0x498cb2
mov edx, dword [ebp - 0x2f]
add edx, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
call fcn.00498088
mov edx, dword [ebp - 8]
mov dword [edx + 0x58], eax
jmp 0x498cb2
mov edx, dword [ebp - 0x2f]
add edx, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
call fcn.00498088
mov edx, dword [ebp - 8]
mov dword [edx + 0x5c], eax
jmp 0x498cb2
mov eax, dword [ebp - 8]
cmp dword [eax + 0x2c], 0
jne 0x498cb2
lea eax, [ebp - 0x58]
push eax
mov edx, dword [ebp - 0x2f]
add edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x33]
mov eax, dword [ebp - 8]
call fcn.00497e4c
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 8]
add eax, 0x2c
call fcn.00404dd8
dec dword [ebp - 0x20]
jne 0x498a4e
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x8c]
test ecx, ecx
jbe 0x499382
mov eax, ecx
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x18]
xor edx, edx
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
push edx
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x88]
mov edx, dword [eax]
call dword [edx + 8]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x88]
call fcn.004121b0
mov edx, dword [ebp - 8]
cmp byte [edx + 0x90], 0
je 0x498d0d
xchg al, ah
movzx eax, ax
test eax, eax
jle 0x499382
mov dword [ebp - 0x20], eax
lea edx, [ebp - 0x37]
mov eax, dword [ebp - 8]
call fcn.00497c74
movzx eax, word [ebp - 0x37]
cmp eax, 0x9202
jg 0x498d9e
je 0x498fed
cmp eax, 0x8827
jg 0x498d71
je 0x498fdd
sub eax, 1
jb 0x499382
sub eax, 0x8299
je 0x498df0
sub eax, 3
je 0x498e71
sub eax, 0x585
je 0x499329
jmp 0x499379
sub eax, 0x9003
je 0x498e98
dec eax
je 0x498ec0
sub eax, 0xfe
je 0x498e48
sub eax, 0xff
je 0x498ee8
jmp 0x499379
cmp eax, 0x920a
jg 0x498dce
je 0x498e1c
sub eax, 0x9205
je 0x49901a
sub eax, 2
je 0x499075
dec eax
je 0x4990d1
dec eax
je 0x49928b
jmp 0x499379
sub eax, 0x9286
je 0x499047
sub eax, 0xd7c
je 0x499365
dec eax
je 0x499370
jmp 0x499379
lea eax, [ebp - 0x5c]
push eax
mov edx, dword [ebp - 0x2f]
add edx, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 8]
call fcn.00498130
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 8]
add eax, 0x30
mov ecx, 0x4993f8
call fcn.00405034
jmp 0x499379
lea eax, [ebp - 0x60]
push eax
mov edx, dword [ebp - 0x2f]
add edx, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 8]
call fcn.00498130
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 8]
add eax, 0x34
mov ecx, 0x49940c
call fcn.00405034
jmp 0x499379
lea eax, [ebp - 0x64]
push eax
mov edx, dword [ebp - 0x2f]
add edx, dword [ebp - 0x18]
mov cl, 1
mov eax, dword [ebp - 8]
call fcn.00498130
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 8]
add eax, 0x84
call fcn.00404dd8
jmp 0x499379
lea eax, [ebp - 0x68]
push eax
mov edx, dword [ebp - 0x2f]
add edx, dword [ebp - 0x18]
mov cl, 1
mov eax, dword [ebp - 8]
call fcn.00498130
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 8]
add eax, 0x38
call fcn.00404dd8
jmp 0x499379
lea eax, [ebp - 0x6c]
push eax
mov edx, dword [ebp - 0x2f]
add edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x33]
mov eax, dword [ebp - 8]
call fcn.00497d04
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 8]
add eax, 0x24
call fcn.00404dd8
jmp 0x499379
lea eax, [ebp - 0x70]
push eax
mov edx, dword [ebp - 0x2f]
add edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x33]
mov eax, dword [ebp - 8]
call fcn.00497d04
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 8]
add eax, 0x28
call fcn.00404dd8
jmp 0x499379
xor eax, eax
push ebp
push 0x498fc3
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [ebp - 0x2f]
add edx, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
call fcn.004983ac
fstp dword [ebp - 0x1c]
wait
fld dword [ebp - 0x1c]
fcomp dword [0x499410]
wait
fnstsw ax
sahf
jbe 0x498f36
fld dword [ebp - 0x1c]
fcomp dword [0x499414]
wait
fnstsw ax
sahf
jae 0x498f36
mov eax, dword [ebp - 8]
add eax, 0x3c
call fcn.00404d84
jmp 0x498fb6
fld dword [ebp - 0x1c]
fcomp dword [0x499414]
wait
fnstsw ax
sahf
jae 0x498fa6
push 0x4000
push 0x80000000
push 0
fld dword [ebp - 0x1c]
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.004303f0
add esp, 0xfffffff4
fstp xword [esp]
wait
lea ecx, [ebp - 0x170]
xor edx, edx
mov eax, 1
call fcn.00403858
lea edx, [ebp - 0x170]
lea eax, [ebp - 4]
call fcn.00404fac
push 0x499420
push dword [ebp - 4]
push 0x4993f8
mov eax, dword [ebp - 8]
add eax, 0x3c
mov edx, 3
call fcn.004050a8
jmp 0x498fb6
mov eax, dword [ebp - 8]
add eax, 0x3c
mov edx, 0x49942c
call fcn.00404dd8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x499379
mov eax, dword [ebp - 8]
movzx edx, word [ebp - 0x2f]
mov word [eax + 0x78], dx
jmp 0x499379
lea eax, [ebp - 0x174]
push eax
mov edx, dword [ebp - 0x2f]
add edx, dword [ebp - 0x18]
mov cl, 1
mov eax, dword [ebp - 8]
call fcn.00498130
mov edx, dword [ebp - 0x174]
mov eax, dword [ebp - 8]
add eax, 0x40
call fcn.00404dd8
jmp 0x499379
lea eax, [ebp - 0x178]
push eax
mov edx, dword [ebp - 0x2f]
add edx, dword [ebp - 0x18]
mov cl, 1
mov eax, dword [ebp - 8]
call fcn.00498130
mov edx, dword [ebp - 0x178]
mov eax, dword [ebp - 8]
add eax, 0x44
call fcn.00404dd8
jmp 0x499379
lea eax, [ebp - 0x17c]
push eax
mov edx, dword [ebp - 0x2f]
add edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x33]
mov eax, dword [ebp - 8]
call fcn.00497e4c
mov edx, dword [ebp - 0x17c]
mov eax, dword [ebp - 8]
add eax, 0x2c
call fcn.00404dd8
jmp 0x499379
mov eax, dword [ebp - 8]
movzx edx, byte [ebp - 0x2f]
mov byte [eax + 0x60], dl
mov ebx, dword [ebp - 0x2f]
mov eax, ebx
sub eax, 7
jae 0x4990a0
mov eax, dword [ebp - 8]
add eax, 0x64
mov edx, dword [ebx*4 + 0x515d70]
call fcn.00404dd8
jmp 0x499379
cmp ebx, 7
jne 0x4990bb
mov eax, dword [ebp - 8]
add eax, 0x64
mov edx, dword [0x515d8c]
call fcn.00404dd8
jmp 0x499379
mov eax, dword [ebp - 8]
add eax, 0x64
mov edx, dword [0x515d70]
call fcn.00404dd8
jmp 0x499379
mov eax, dword [ebp - 8]
movzx edx, byte [ebp - 0x2f]
mov byte [eax + 0x68], dl
mov eax, dword [ebp - 0x2f]
cmp eax, 0x12
jg 0x499141
je 0x4991f8
cmp eax, 0x11
ja case.0x4990f2.4
jmp dword [eax*4 + 0x4990f9]
cmp eax, 0x15
jg 0x499161
je 0x499237
sub eax, 0x13
je 0x49920d
dec eax
je 0x499222
jmp case.0x4990f2.4
sub eax, 0x16
je 0x49924c
sub eax, 0xe9
je 0x499261
jmp case.0x4990f2.4
mov eax, dword [ebp - 8]
add eax, 0x6c
mov edx, 0x499440
call fcn.00404dd8
jmp 0x499379
mov eax, dword [ebp - 8]
add eax, 0x6c
mov edx, 0x499450
call fcn.00404dd8
jmp 0x499379
mov eax, dword [ebp - 8]
add eax, 0x6c
mov edx, 0x499464
call fcn.00404dd8
jmp 0x499379
mov eax, dword [ebp - 8]
add eax, 0x6c
mov edx, 0x499478
call fcn.00404dd8
jmp 0x499379
mov eax, dword [ebp - 8]
add eax, 0x6c
mov edx, 0x49948c
call fcn.00404dd8
jmp 0x499379
mov eax, dword [ebp - 8]
add eax, 0x6c
mov edx, 0x49949c
call fcn.00404dd8
jmp 0x499379
mov eax, dword [ebp - 8]
add eax, 0x6c
mov edx, 0x4994b8
call fcn.00404dd8
jmp 0x499379
mov eax, dword [ebp - 8]
add eax, 0x6c
mov edx, 0x4994d4
call fcn.00404dd8
jmp 0x499379
mov eax, dword [ebp - 8]
add eax, 0x6c
mov edx, 0x4994f0
call fcn.00404dd8
jmp 0x499379
mov eax, dword [ebp - 8]
add eax, 0x6c
mov edx, 0x4994fc
call fcn.00404dd8
jmp 0x499379
mov eax, dword [ebp - 8]
add eax, 0x6c
mov edx, 0x499508
call fcn.00404dd8
jmp 0x499379
mov eax, dword [ebp - 8]
add eax, 0x6c
mov edx, 0x499514
call fcn.00404dd8
jmp 0x499379
mov eax, dword [ebp - 8]
add eax, 0x6c
mov edx, 0x499440
call fcn.00404dd8
jmp 0x499379
mov eax, dword [ebp - 8]
movzx edx, byte [ebp - 0x2f]
mov byte [eax + 0x70], dl
mov eax, dword [ebp - 0x2f]
cmp eax, 5
jg 0x4992a8
je 0x4992de
sub eax, 1
jb 0x4992b4
je 0x4992c9
jmp 0x499317
sub eax, 7
je 0x4992f3
sub eax, 0x12
je 0x499305
jmp 0x499317
mov eax, dword [ebp - 8]
add eax, 0x74
mov edx, 0x499524
call fcn.00404dd8
jmp 0x499379
mov eax, dword [ebp - 8]
add eax, 0x74
mov edx, 0x49948c
call fcn.00404dd8
jmp 0x499379
mov eax, dword [ebp - 8]
add eax, 0x74
mov edx, 0x499538
call fcn.00404dd8
jmp 0x499379
mov eax, dword [ebp - 8]
add eax, 0x74
mov edx, 0x499550
call fcn.00404dd8
jmp 0x499379
mov eax, dword [ebp - 8]
add eax, 0x74
mov edx, 0x499568
call fcn.00404dd8
jmp 0x499379
mov eax, dword [ebp - 8]
add eax, 0x74
mov edx, 0x499524
call fcn.00404dd8
jmp 0x499379
mov eax, dword [ebp - 8]
movzx edx, byte [ebp - 0x2f]
mov byte [eax + 0x48], dl
mov ebx, dword [ebp - 0x2f]
mov eax, ebx
dec eax
sub eax, 8
jae 0x499352
mov eax, dword [ebp - 8]
add eax, 0x4c
mov edx, dword [ebx*4 + 0x515d48]
call fcn.00404dd8
jmp 0x499379
mov eax, dword [ebp - 8]
add eax, 0x4c
mov edx, dword [0x515d6c]
call fcn.00404dd8
jmp 0x499379
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x2f]
mov dword [eax + 0x50], edx
jmp 0x499379
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x2f]
mov dword [eax + 0x54], edx
dec dword [ebp - 0x20]
jne 0x498d1b
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x499396
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x88]
call fcn.00403f90
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x88], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4993e9
lea eax, [ebp - 0x17c]
mov edx, 3
call fcn.00404da8
lea eax, [ebp - 0x70]
mov edx, 0xe
call fcn.00404da8
lea eax, [ebp - 4]
call fcn.00404d84
ret