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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x2f
push 0
push 0
dec ecx
jne 0x45828c
push ecx
push ebx
push esi
push edi
mov ebx, edx
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x458e66
push dword fs:[eax]
mov dword fs:[eax], esp
mov ecx, ebx
mov dl, 1
mov eax, dword [0x457364]
call fcn.004573e8
mov edx, dword [ebp - 8]
mov dword [edx + 0x88], eax
mov eax, dword [ebp - 8]
call fcn.00457f04
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 0x458e10
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x88]
call fcn.00410ad4
cmp ax, 0xd8ff
jne 0x458e06
push 9
lea edx, [ebp - 0x12]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x88]
mov ecx, 0x7ffffffe
call fcn.00410a58
cmp word [ebp - 0x12], 0xe0ff
jne 0x45834b
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.00410a58
cmp word [ebp - 0x12], 0xe1ff
je 0x458414
mov eax, 0x7d0
call fcn.00402eec
mov esi, eax
push 0x7d0
mov edx, esi
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x88]
mov ecx, 0x7ffffffe
call fcn.00410a58
mov edi, eax
test edi, edi
jle 0x45840d
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 0x458404
lea eax, [esi + ebx]
cmp word [eax], 0xe1ff
jne 0x458403
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.00410a58
jmp 0x45840d
inc ebx
mov eax, edi
sub eax, 2
cmp ebx, eax
jl 0x4583b2
mov eax, esi
call fcn.00402f08
cmp word [ebp - 0x12], 0xe1ff
jne 0x458e06
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.00410a58
cmp word [ebp - 0x2a], 0x4d4d
sete al
mov edx, dword [ebp - 8]
mov byte [edx + 0x90], al
test al, al
je 0x45847c
mov eax, dword [ebp - 0x26]
call fcn.004576d8
mov dword [ebp - 0x26], eax
movzx eax, word [ebp - 0x22]
xchg al, ah
mov word [ebp - 0x22], ax
cmp dword [ebp - 0x26], 8
je 0x4584b6
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 0x4584c3
mov word [ebp - 0x22], 0x64
movzx eax, word [ebp - 0x22]
test eax, eax
jle 0x45873f
mov dword [ebp - 0x20], eax
lea edx, [ebp - 0x37]
mov eax, dword [ebp - 8]
call fcn.004576dc
movzx eax, word [ebp - 0x37]
cmp eax, 0x11b
jg 0x458530
je 0x4586f4
cmp eax, 0x110
jg 0x458517
je 0x4585c8
sub eax, 1
jb 0x45873f
sub eax, 0x10d
je 0x458578
dec eax
je 0x4585a0
jmp 0x458736
sub eax, 0x112
je 0x4585f0
sub eax, 8
je 0x4586de
jmp 0x458736
cmp eax, 0x8298
jg 0x45855d
je 0x458659
sub eax, 0x131
je 0x458681
dec eax
je 0x458631
sub eax, 9
je 0x4586a9
jmp 0x458736
sub eax, 0x8769
je 0x4586d0
sub eax, 0xb1d
je 0x45870a
jmp 0x458736
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.0045776c
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
add eax, 4
call fcn.004052b0
jmp 0x458736
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.0045776c
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 8]
add eax, 8
call fcn.004052b0
jmp 0x458736
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.0045776c
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 8]
add eax, 0xc
call fcn.004052b0
jmp 0x458736
mov eax, dword [ebp - 8]
movzx ebx, byte [ebp - 0x2f]
mov byte [eax + 0x10], bl
mov eax, ebx
dec eax
sub al, 8
jae 0x45861b
mov eax, dword [ebp - 8]
add eax, 0x14
movzx edx, bl
mov edx, dword [edx*4 + 0x4f3668]
call fcn.004052b0
jmp 0x458736
mov eax, dword [ebp - 8]
add eax, 0x14
mov edx, dword [0x4f368c]
call fcn.004052b0
jmp 0x458736
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.0045776c
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 8]
add eax, 0x20
call fcn.004052b0
jmp 0x458736
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.0045776c
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 8]
add eax, 0x18
call fcn.004052b0
jmp 0x458736
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.0045776c
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 8]
add eax, 0x7c
call fcn.004052b0
jmp 0x458736
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.0045776c
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 8]
add eax, 0x80
call fcn.004052b0
jmp 0x458736
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x2f]
mov dword [eax + 0x8c], edx
jmp 0x458736
mov edx, dword [ebp - 0x2f]
add edx, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
call fcn.00457af0
mov edx, dword [ebp - 8]
mov dword [edx + 0x58], eax
jmp 0x458736
mov edx, dword [ebp - 0x2f]
add edx, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
call fcn.00457af0
mov edx, dword [ebp - 8]
mov dword [edx + 0x5c], eax
jmp 0x458736
mov eax, dword [ebp - 8]
cmp dword [eax + 0x2c], 0
jne 0x458736
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.004578b4
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 8]
add eax, 0x2c
call fcn.004052b0
dec dword [ebp - 0x20]
jne 0x4584d2
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x8c]
test ecx, ecx
jbe 0x458e06
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.00410ad4
mov edx, dword [ebp - 8]
cmp byte [edx + 0x90], 0
je 0x458791
xchg al, ah
movzx eax, ax
test eax, eax
jle 0x458e06
mov dword [ebp - 0x20], eax
lea edx, [ebp - 0x37]
mov eax, dword [ebp - 8]
call fcn.004576dc
movzx eax, word [ebp - 0x37]
cmp eax, 0x9202
jg 0x458822
je 0x458a71
cmp eax, 0x8827
jg 0x4587f5
je 0x458a61
sub eax, 1
jb 0x458e06
sub eax, 0x8299
je 0x458874
sub eax, 3
je 0x4588f5
sub eax, 0x585
je 0x458dad
jmp 0x458dfd
sub eax, 0x9003
je 0x45891c
dec eax
je 0x458944
sub eax, 0xfe
je 0x4588cc
sub eax, 0xff
je 0x45896c
jmp 0x458dfd
cmp eax, 0x920a
jg 0x458852
je 0x4588a0
sub eax, 0x9205
je 0x458a9e
sub eax, 2
je 0x458af9
dec eax
je 0x458b55
dec eax
je 0x458d0f
jmp 0x458dfd
sub eax, 0x9286
je 0x458acb
sub eax, 0xd7c
je 0x458de9
dec eax
je 0x458df4
jmp 0x458dfd
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.00457b98
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 8]
add eax, 0x30
mov ecx, 0x458e7c
call fcn.0040550c
jmp 0x458dfd
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.00457b98
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 8]
add eax, 0x34
mov ecx, 0x458e90
call fcn.0040550c
jmp 0x458dfd
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.00457b98
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 8]
add eax, 0x84
call fcn.004052b0
jmp 0x458dfd
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.00457b98
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 8]
add eax, 0x38
call fcn.004052b0
jmp 0x458dfd
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.0045776c
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 8]
add eax, 0x24
call fcn.004052b0
jmp 0x458dfd
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.0045776c
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 8]
add eax, 0x28
call fcn.004052b0
jmp 0x458dfd
xor eax, eax
push ebp
push 0x458a47
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.00457e30
fstp dword [ebp - 0x1c]
wait
fld dword [ebp - 0x1c]
fcomp dword [0x458e94]
wait
fnstsw ax
sahf
jbe 0x4589ba
fld dword [ebp - 0x1c]
fcomp dword [0x458e98]
wait
fnstsw ax
sahf
jae 0x4589ba
mov eax, dword [ebp - 8]
add eax, 0x3c
call fcn.0040525c
jmp 0x458a3a
fld dword [ebp - 0x1c]
fcomp dword [0x458e98]
wait
fnstsw ax
sahf
jae 0x458a2a
push 0x4000
push 0x80000000
push 0
fld dword [ebp - 0x1c]
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.0042ed5c
add esp, 0xfffffff4
fstp xword [esp]
wait
lea ecx, [ebp - 0x170]
xor edx, edx
mov eax, 1
call fcn.00403d30
lea edx, [ebp - 0x170]
lea eax, [ebp - 4]
call fcn.00405484
push 0x458ea4
push dword [ebp - 4]
push 0x458e7c
mov eax, dword [ebp - 8]
add eax, 0x3c
mov edx, 3
call fcn.00405580
jmp 0x458a3a
mov eax, dword [ebp - 8]
add eax, 0x3c
mov edx, 0x458eb0
call fcn.004052b0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x458dfd
mov eax, dword [ebp - 8]
movzx edx, word [ebp - 0x2f]
mov word [eax + 0x78], dx
jmp 0x458dfd
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.00457b98
mov edx, dword [ebp - 0x174]
mov eax, dword [ebp - 8]
add eax, 0x40
call fcn.004052b0
jmp 0x458dfd
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.00457b98
mov edx, dword [ebp - 0x178]
mov eax, dword [ebp - 8]
add eax, 0x44
call fcn.004052b0
jmp 0x458dfd
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.004578b4
mov edx, dword [ebp - 0x17c]
mov eax, dword [ebp - 8]
add eax, 0x2c
call fcn.004052b0
jmp 0x458dfd
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 0x458b24
mov eax, dword [ebp - 8]
add eax, 0x64
mov edx, dword [ebx*4 + 0x4f36b4]
call fcn.004052b0
jmp 0x458dfd
cmp ebx, 7
jne 0x458b3f
mov eax, dword [ebp - 8]
add eax, 0x64
mov edx, dword [0x4f36d0]
call fcn.004052b0
jmp 0x458dfd
mov eax, dword [ebp - 8]
add eax, 0x64
mov edx, dword [0x4f36b4]
call fcn.004052b0
jmp 0x458dfd
mov eax, dword [ebp - 8]
movzx edx, byte [ebp - 0x2f]
mov byte [eax + 0x68], dl
mov eax, dword [ebp - 0x2f]
cmp eax, 0x12
jg 0x458bc5
je 0x458c7c
cmp eax, 0x11
ja case.0x458b76.4
jmp dword [eax*4 + 0x458b7d]
cmp eax, 0x15
jg 0x458be5
je 0x458cbb
sub eax, 0x13
je 0x458c91
dec eax
je 0x458ca6
jmp case.0x458b76.4
sub eax, 0x16
je 0x458cd0
sub eax, 0xe9
je 0x458ce5
jmp case.0x458b76.4
mov eax, dword [ebp - 8]
add eax, 0x6c
mov edx, 0x458ec4
call fcn.004052b0
jmp 0x458dfd
mov eax, dword [ebp - 8]
add eax, 0x6c
mov edx, 0x458ed4
call fcn.004052b0
jmp 0x458dfd
mov eax, dword [ebp - 8]
add eax, 0x6c
mov edx, 0x458ee8
call fcn.004052b0
jmp 0x458dfd
mov eax, dword [ebp - 8]
add eax, 0x6c
mov edx, 0x458efc
call fcn.004052b0
jmp 0x458dfd
mov eax, dword [ebp - 8]
add eax, 0x6c
mov edx, 0x458f10
call fcn.004052b0
jmp 0x458dfd
mov eax, dword [ebp - 8]
add eax, 0x6c
mov edx, 0x458f20
call fcn.004052b0
jmp 0x458dfd
mov eax, dword [ebp - 8]
add eax, 0x6c
mov edx, 0x458f3c
call fcn.004052b0
jmp 0x458dfd
mov eax, dword [ebp - 8]
add eax, 0x6c
mov edx, 0x458f58
call fcn.004052b0
jmp 0x458dfd
mov eax, dword [ebp - 8]
add eax, 0x6c
mov edx, 0x458f74
call fcn.004052b0
jmp 0x458dfd
mov eax, dword [ebp - 8]
add eax, 0x6c
mov edx, 0x458f80
call fcn.004052b0
jmp 0x458dfd
mov eax, dword [ebp - 8]
add eax, 0x6c
mov edx, 0x458f8c
call fcn.004052b0
jmp 0x458dfd
mov eax, dword [ebp - 8]
add eax, 0x6c
mov edx, 0x458f98
call fcn.004052b0
jmp 0x458dfd
mov eax, dword [ebp - 8]
add eax, 0x6c
mov edx, 0x458ec4
call fcn.004052b0
jmp 0x458dfd
mov eax, dword [ebp - 8]
movzx edx, byte [ebp - 0x2f]
mov byte [eax + 0x70], dl
mov eax, dword [ebp - 0x2f]
cmp eax, 5
jg 0x458d2c
je 0x458d62
sub eax, 1
jb 0x458d38
je 0x458d4d
jmp 0x458d9b
sub eax, 7
je 0x458d77
sub eax, 0x12
je 0x458d89
jmp 0x458d9b
mov eax, dword [ebp - 8]
add eax, 0x74
mov edx, 0x458fa8
call fcn.004052b0
jmp 0x458dfd
mov eax, dword [ebp - 8]
add eax, 0x74
mov edx, 0x458f10
call fcn.004052b0
jmp 0x458dfd
mov eax, dword [ebp - 8]
add eax, 0x74
mov edx, 0x458fbc
call fcn.004052b0
jmp 0x458dfd
mov eax, dword [ebp - 8]
add eax, 0x74
mov edx, 0x458fd4
call fcn.004052b0
jmp 0x458dfd
mov eax, dword [ebp - 8]
add eax, 0x74
mov edx, 0x458fec
call fcn.004052b0
jmp 0x458dfd
mov eax, dword [ebp - 8]
add eax, 0x74
mov edx, 0x458fa8
call fcn.004052b0
jmp 0x458dfd
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 0x458dd6
mov eax, dword [ebp - 8]
add eax, 0x4c
mov edx, dword [ebx*4 + 0x4f368c]
call fcn.004052b0
jmp 0x458dfd
mov eax, dword [ebp - 8]
add eax, 0x4c
mov edx, dword [0x4f36b0]
call fcn.004052b0
jmp 0x458dfd
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x2f]
mov dword [eax + 0x50], edx
jmp 0x458dfd
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x2f]
mov dword [eax + 0x54], edx
dec dword [ebp - 0x20]
jne 0x45879f
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x458e1a
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x88]
call fcn.00404468
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 0x458e6d
lea eax, [ebp - 0x17c]
mov edx, 3
call fcn.00405280
lea eax, [ebp - 0x70]
mov edx, 0xe
call fcn.00405280
lea eax, [ebp - 4]
call fcn.0040525c
ret