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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff63c
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x9c4], ebx
mov dword [ebp - 0x9b8], ebx
mov dword [ebp - 0x634], ebx
mov dword [ebp - 0x62c], ebx
mov dword [ebp - 0x620], ecx
mov byte [ebp - 0x62d], dl
mov dword [ebp - 0x61c], eax
xor eax, eax
push ebp
push 0x47af88
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0x610], eax
mov dword [ebp - 0x618], 0xffffffff
mov dword [ebp - 0x624], 0xffffffff
mov eax, dword [ebp - 0x61c]
mov eax, dword [eax + 4]
call fcn.00479820
call fcn.00401018
mov dword [ebp - 0x670], eax
xor edi, edi
xor eax, eax
mov dword [ebp - 0x648], eax
xor eax, eax
push ebp
push 0x47af47
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x47aed0
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x61c]
mov eax, dword [eax + 0x14]
call fcn.00436704
mov eax, dword [ebp - 0x61c]
mov eax, dword [eax + 0x14]
call fcn.00436af4
mov ebx, eax
test ebx, ebx
je 0x47aebf
inc dword [ebp - 0x648]
cmp word [ebx + 0xe], 0xff
ja 0x47a60e
cmp dword [ebx + 0x10], 0xffff
jbe 0x47a62a
push ebp
call fcn.0047a204
pop ecx
mov eax, dword [ebp - 0x61c]
mov eax, dword [eax + 0x14]
call fcn.00436af4
mov ebx, eax
jmp 0x47aeb7
mov esi, dword [ebx + 0x10]
cmp esi, dword [ebp - 0x614]
je 0x47a63c
push ebp
call fcn.0047a204
pop ecx
mov dword [ebp - 0x614], esi
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x78]
add al, 0xfd
sub al, 2
jb 0x47a656
push ebp
call fcn.0047a204
pop ecx
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x78]
and eax, 0x7f
cmp eax, 0xd
ja case.0x47a669.0
jmp dword [eax*4 + 0x47a670]
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x63c], eax
movzx eax, word [ebx + 0xe]
mov dword [ebp - 0x640], eax
mov eax, dword [ebp - 0x640]
mov dword [ebp - 0x644], eax
xor eax, eax
mov dword [ebp - 0x638], eax
mov eax, ebx
call fcn.0042f130
mov edx, dword [ebp - 0x638]
mov word [ebp + edx*2 - 0x9a4], ax
mov eax, dword [ebp - 0x61c]
mov eax, dword [eax + 0x14]
call fcn.00436bd8
mov ebx, eax
test ebx, ebx
je 0x47a723
movzx eax, word [ebx + 0xe]
mov edx, dword [ebp - 0x644]
inc edx
cmp eax, edx
je 0x47a71d
mov ecx, 0x47afa0
mov dl, 1
mov eax, dword [0x53c0b8]
call fcn.00401cac
call fcn.00401220
inc dword [ebp - 0x644]
inc dword [ebp - 0x638]
test ebx, ebx
jne 0x47a6cf
dec dword [ebp - 0x638]
cmp dword [ebp - 0x638], 0
jle 0x47a7da
movzx eax, word [ebp - 0x638]
inc eax
mov ecx, eax
add ecx, ecx
add cx, 6
mov dx, 0xbe
mov eax, dword [ebp - 0x620]
call fcn.0041c888
movzx edx, word [ebp - 0x63c]
mov eax, dword [ebp - 0x620]
call fcn.0041cd7c
movzx edx, word [ebp - 0x640]
mov eax, dword [ebp - 0x620]
call fcn.0041cd7c
mov eax, dword [ebp - 0x638]
test eax, eax
jl 0x47a7c3
inc eax
mov dword [ebp - 0x674], eax
lea eax, [ebp - 0x9a4]
mov dword [ebp - 0x678], eax
mov eax, dword [ebp - 0x678]
movzx edx, word [eax]
mov eax, dword [ebp - 0x620]
call fcn.0041cd7c
add dword [ebp - 0x678], 2
dec dword [ebp - 0x674]
jne 0x47a7a0
movzx edx, word [ebp - 0x644]
mov eax, dword [ebp - 0x620]
call fcn.0041cd7c
jmp case.0x47a669.0
movzx eax, word [ebp - 0x63c]
mov word [ebp - 0x65a], ax
movzx eax, word [ebp - 0x640]
mov word [ebp - 0x658], ax
movzx ecx, word [ebp - 0x9a4]
movzx edx, byte [ebp - 0x62d]
mov eax, dword [ebp - 0x61c]
call fcn.0047a104
mov word [ebp - 0x656], ax
push 6
lea eax, [ebp - 0x65a]
push eax
mov cx, 0x201
mov edx, dword [ebp - 0x620]
mov eax, dword [ebp - 0x61c]
call fcn.0047a01c
jmp case.0x47a669.0
movzx eax, word [ebx + 0x10]
mov word [ebp - 0x662], ax
movzx eax, word [ebx + 0xe]
mov word [ebp - 0x660], ax
mov eax, ebx
call fcn.0042f130
movzx ecx, ax
movzx edx, byte [ebp - 0x62d]
mov eax, dword [ebp - 0x61c]
call fcn.0047a104
mov word [ebp - 0x65e], ax
movzx eax, byte [ebx + 0x14]
mov byte [ebp - 0x65c], al
mov byte [ebp - 0x65b], 0
push 8
lea eax, [ebp - 0x662]
push eax
mov cx, 0x205
mov edx, dword [ebp - 0x620]
mov eax, dword [ebp - 0x61c]
call fcn.0047a01c
jmp case.0x47a669.0
movzx eax, word [ebx + 0x10]
mov word [ebp - 0x662], ax
movzx eax, word [ebx + 0xe]
mov word [ebp - 0x660], ax
mov eax, ebx
call fcn.0042f130
movzx ecx, ax
movzx edx, byte [ebp - 0x62d]
mov eax, dword [ebp - 0x61c]
call fcn.0047a104
mov word [ebp - 0x65e], ax
movzx eax, byte [ebx + 0x14]
cmp eax, 7
ja case.default.0x47a8ec
jmp dword [eax*4 + 0x47a8f3]
movzx eax, word [ebp - 0x662]
mov dword [ebp - 0x9b4], eax
mov byte [ebp - 0x9b0], 0
movzx eax, word [ebp - 0x660]
mov dword [ebp - 0x9ac], eax
mov byte [ebp - 0x9a8], 0
lea eax, [ebp - 0x9b4]
push eax
push 1
mov ecx, 0x47afc8
mov dl, 1
mov eax, dword [0x53c0b8]
call fcn.00401cb4
call fcn.00401220
jmp case.default.0x47a8ec
mov byte [ebp - 0x65c], 0
jmp case.default.0x47a8ec
mov byte [ebp - 0x65c], 7
jmp case.default.0x47a8ec
mov byte [ebp - 0x65c], 0xf
jmp case.default.0x47a8ec
mov byte [ebp - 0x65c], 0x17
jmp case.default.0x47a8ec
mov byte [ebp - 0x65c], 0x1d
jmp case.default.0x47a8ec
mov byte [ebp - 0x65c], 0x24
jmp case.default.0x47a8ec
mov byte [ebp - 0x65c], 0x2a
mov byte [ebp - 0x65b], 1
push 8
lea eax, [ebp - 0x662]
push eax
mov cx, 0x205
mov edx, dword [ebp - 0x620]
mov eax, dword [ebp - 0x61c]
call fcn.0047a01c
jmp case.0x47a669.0
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x78]
cmp al, 4
jne 0x47a9e2
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x650], eax
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x64c], eax
jmp 0x47a9ec
fild dword [ebx + 0x14]
fstp qword [ebp - 0x650]
wait
push dword [ebp - 0x64c]
push dword [ebp - 0x650]
lea eax, [ebp - 0x654]
call fcn.0047a13c
test al, al
je 0x47aa3f
push ebp
mov eax, ebx
call fcn.0042f130
movzx ecx, ax
movzx edx, byte [ebp - 0x62d]
mov eax, dword [ebp - 0x61c]
call fcn.0047a104
movzx edx, ax
movzx ecx, word [ebx + 0xe]
mov eax, dword [ebp - 0x654]
call fcn.0047a348
pop ecx
test al, al
jne case.0x47a669.0
push ebp
call fcn.0047a204
pop ecx
movzx eax, word [ebx + 0x10]
mov word [ebp - 0x686], ax
movzx eax, word [ebx + 0xe]
mov word [ebp - 0x684], ax
mov eax, ebx
call fcn.0042f130
movzx ecx, ax
movzx edx, byte [ebp - 0x62d]
mov eax, dword [ebp - 0x61c]
call fcn.0047a104
mov word [ebp - 0x682], ax
mov eax, dword [ebp - 0x650]
mov dword [ebp - 0x680], eax
mov eax, dword [ebp - 0x64c]
mov dword [ebp - 0x67c], eax
push 0xe
lea eax, [ebp - 0x686]
push eax
mov cx, 0x203
mov edx, dword [ebp - 0x620]
mov eax, dword [ebp - 0x61c]
call fcn.0047a01c
jmp case.0x47a669.0
cmp byte [ebp - 0x62d], 6
jb 0x47ab2a
movzx eax, word [ebx + 0x10]
mov word [ebp - 0x66c], ax
movzx eax, word [ebx + 0xe]
mov word [ebp - 0x66a], ax
mov eax, ebx
call fcn.0042f130
movzx ecx, ax
movzx edx, byte [ebp - 0x62d]
mov eax, dword [ebp - 0x61c]
call fcn.0047a104
mov word [ebp - 0x668], ax
mov eax, dword [ebx + 0x14]
mov eax, dword [eax]
mov dword [ebp - 0x666], eax
push 0xa
lea eax, [ebp - 0x66c]
push eax
mov cx, 0xfd
mov edx, dword [ebp - 0x620]
mov eax, dword [ebp - 0x61c]
call fcn.0047a01c
jmp case.0x47a669.0
movzx eax, word [ebx + 0x10]
mov word [ebp - 0x78e], ax
movzx eax, word [ebx + 0xe]
mov word [ebp - 0x78c], ax
mov eax, ebx
call fcn.0042f130
movzx ecx, ax
movzx edx, byte [ebp - 0x62d]
mov eax, dword [ebp - 0x61c]
call fcn.0047a104
mov word [ebp - 0x78a], ax
lea ecx, [ebp - 0x9b8]
mov edx, dword [ebx + 0x14]
mov eax, dword [ebp - 0x61c]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x103c]
call fcn.0042cad4
mov edx, dword [ebp - 0x9b8]
lea eax, [ebp - 0x634]
call fcn.004012b0
mov eax, dword [ebp - 0x634]
call fcn.004012b8
mov word [ebp - 0x788], ax
mov eax, dword [ebp - 0x634]
call fcn.004012b8
mov ecx, eax
lea edx, [ebp - 0x786]
mov eax, dword [ebp - 0x634]
call fcn.00401040
movzx eax, word [ebp - 0x788]
add ax, 8
push eax
lea eax, [ebp - 0x78e]
push eax
mov cx, 0x204
mov edx, dword [ebp - 0x620]
mov eax, dword [ebp - 0x61c]
call fcn.0047a01c
jmp case.0x47a669.0
movzx eax, word [ebx + 0x10]
mov word [ebp - 0x7a4], ax
movzx eax, word [ebx + 0xe]
mov word [ebp - 0x7a2], ax
mov eax, ebx
call fcn.0042f130
movzx ecx, ax
movzx edx, byte [ebp - 0x62d]
mov eax, dword [ebp - 0x61c]
call fcn.0047a104
mov word [ebp - 0x7a0], ax
xor eax, eax
mov dword [ebp - 0x794], eax
mov eax, dword [ebp - 0x61c]
cmp byte [eax + 0x1d], 0
je 0x47ac46
mov word [ebp - 0x796], 2
jmp 0x47ac4f
mov word [ebp - 0x796], 0
movzx eax, word [ebx + 0x1c]
mov word [ebp - 0x790], ax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x78]
and eax, 0x7f
add eax, 0xfffffff8
cmp eax, 5
ja case.default.0x47ac70
jmp dword [eax*4 + 0x47ac77]
mov eax, dword [ebx + 0x28]
mov dword [ebp - 0x79e], eax
mov eax, dword [ebx + 0x2c]
mov dword [ebp - 0x79a], eax
jmp case.default.0x47ac70
mov eax, dword [ebx + 0x38]
mov dword [ebp - 0x79e], eax
mov eax, dword [ebx + 0x3c]
mov dword [ebp - 0x79a], eax
jmp case.default.0x47ac70
mov byte [ebp - 0x79e], 1
mov byte [ebp - 0x79d], 0
movzx eax, byte [ebx + 0x28]
mov byte [ebp - 0x79c], al
mov byte [ebp - 0x79b], 0
mov byte [ebp - 0x79a], 0
mov byte [ebp - 0x799], 0
mov byte [ebp - 0x798], 0xff
mov byte [ebp - 0x797], 0xff
jmp case.default.0x47ac70
mov byte [ebp - 0x79e], 1
mov byte [ebp - 0x79d], 0
movzx eax, byte [ebx + 0x28]
call fcn.004182d0
mov byte [ebp - 0x79c], al
mov byte [ebp - 0x79b], 0
mov byte [ebp - 0x79a], 0
mov byte [ebp - 0x799], 0
mov byte [ebp - 0x798], 0xff
mov byte [ebp - 0x797], 0xff
jmp case.default.0x47ac70
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x78]
cmp al, 9
jne 0x47ad5a
lea eax, [ebp - 0x62c]
mov edx, dword [ebx + 0x28]
call fcn.00401338
jmp 0x47ad68
lea eax, [ebp - 0x62c]
mov edx, dword [ebx + 0x34]
call fcn.00401338
mov eax, dword [ebp - 0x62c]
xor edx, edx
call fcn.004013a0
jne 0x47ad80
mov byte [ebp - 0x79e], 3
jmp 0x47ad87
mov byte [ebp - 0x79e], 0
mov byte [ebp - 0x79d], 0
mov byte [ebp - 0x79c], 0
mov byte [ebp - 0x79b], 0
mov byte [ebp - 0x79a], 0
mov byte [ebp - 0x799], 0
mov byte [ebp - 0x798], 0xff
mov byte [ebp - 0x797], 0xff
movzx ecx, word [ebx + 0x18]
add cx, 0x16
mov dx, 6
mov eax, dword [ebp - 0x620]
call fcn.0041c888
lea edx, [ebp - 0x7a4]
mov ecx, 0x16
mov eax, dword [ebp - 0x620]
call fcn.0041c95c
mov ecx, dword [ebx + 0x18]
mov edx, dword [ebp - 0x670]
mov eax, dword [ebx + 0x14]
call fcn.00401040
mov ecx, dword [ebx + 0x18]
mov edx, dword [ebp - 0x670]
mov eax, dword [ebp - 0x620]
call fcn.0041c95c
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x78]
cmp al, 9
je 0x47ae26
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x78]
cmp al, 0xd
jne 0x47ae2f
cmp byte [ebx + 0x30], 0
je 0x47ae2f
push ebp
call fcn.0047a3fc
pop ecx
jmp case.0x47a669.0
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x78]
add al, 0xf4
sub al, 2
jae case.0x47a669.0
cmp byte [ebx + 0x30], 0
jne case.0x47a669.0
movzx ecx, word [ebx + 0x2c]
mov dx, 0x221
mov eax, dword [ebp - 0x620]
call fcn.0041c888
mov ecx, dword [ebx + 0x2c]
mov edx, dword [ebx + 0x28]
mov eax, dword [ebp - 0x620]
call fcn.0041c95c
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x78]
cmp al, 0xd
jne case.0x47a669.0
push ebp
call fcn.0047a3fc
pop ecx
inc edi
mov eax, dword [ebp - 0x61c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x20]
cmp word [eax + 0x82], 0
je 0x47aea7
cmp edi, 0x64
jl 0x47aea7
mov eax, dword [ebp - 0x61c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x20]
call fcn.004730a4
xor edi, edi
mov eax, dword [ebp - 0x61c]
mov eax, dword [eax + 0x14]
call fcn.00436af4
mov ebx, eax
test ebx, ebx
jne 0x47a5f7
push ebp
call fcn.0047a204
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47af2e
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47af4e
mov eax, dword [ebp - 0x670]
call fcn.00401020
ret