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

Disassembly:
push 0xffffffffffffffff
push 0x5cefd0
mov eax, dword fs:[0]
push eax
sub esp, 0x50
mov eax, dword [0x694114]
xor eax, esp
mov dword [esp + 0x4c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x694114]
xor eax, esp
push eax
lea eax, [esp + 0x64]
mov dword fs:[0], eax
mov eax, dword [esp + 0x88]
mov ebp, dword [esp + 0x78]
mov ebx, dword [esp + 0x80]
mov esi, dword [esp + 0x7c]
push eax
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebx
call fcn.0047ec80
mov edi, eax
add esp, 4
lea eax, [esp + 0x44]
push eax
mov ecx, edi
call fcn.00466c60
cmp dword [esp + 0x54], 0
mov dword [esp + 0x6c], 0
jne 0x47f65d
mov byte [esp + 0x16], 0
jmp 0x47f66a
mov edx, dword [edi]
mov eax, dword [edx + 8]
mov ecx, edi
call eax
mov byte [esp + 0x16], al
push ebx
mov ecx, esi
mov dword [esp + 0x1c], ebp
call fcn.0047d8d0
test al, al
jne 0x47f6dd
cmp byte [esi + 4], al
jne 0x47f6b7
mov ecx, dword [esi]
test ecx, ecx
je 0x47f6ad
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x47f69c
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x47f69c
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x47f6a3
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
call edx
cmp eax, 0xffffffff
je 0x47f6ad
mov byte [esi + 5], al
jmp 0x47f6b3
mov dword [esi], 0
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x2b
mov ecx, esi
jne 0x47f6c5
mov byte [ebp], 0x2b
jmp 0x47f6d3
call fcn.0047e0c0
cmp al, 0x2d
jne 0x47f6dd
mov byte [ebp], al
mov ecx, esi
inc ebp
mov dword [esp + 0x18], ebp
call fcn.0047e110
mov eax, dword [esp + 0x84]
and eax, 0xe00
cmp eax, 0x400
jne 0x47f6fb
mov ebp, 8
mov dword [esp + 0x1c], ebp
jmp 0x47f71a
cmp eax, 0x800
jne 0x47f70d
mov ebp, 0x10
mov dword [esp + 0x1c], ebp
jmp 0x47f71a
neg eax
sbb eax, eax
and eax, 0xa
mov ebp, eax
mov dword [esp + 0x1c], eax
push ebx
mov ecx, esi
mov byte [esp + 0x19], 0
mov byte [esp + 0x1b], 0
call fcn.0047d8d0
test al, al
jne 0x47f7ee
cmp byte [esi + 4], al
jne 0x47f771
mov ecx, dword [esi]
test ecx, ecx
je 0x47f767
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x47f756
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x47f756
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x47f75d
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
call edx
cmp eax, 0xffffffff
je 0x47f767
mov byte [esi + 5], al
jmp 0x47f76d
mov dword [esi], 0
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x30
jne 0x47f7ee
mov ecx, esi
mov byte [esp + 0x15], 1
call fcn.0047e110
push ebx
mov ecx, esi
call fcn.0047d8d0
test al, al
jne 0x47f7d2
mov ecx, esi
call fcn.0047e0c0
cmp al, 0x78
je 0x47f7a5
mov ecx, esi
call fcn.0047e0c0
cmp al, 0x58
jne 0x47f7d2
test ebp, ebp
je 0x47f7ae
cmp ebp, 0x10
jne 0x47f7d2
mov ebp, 0x10
mov ecx, esi
mov dword [esp + 0x1c], ebp
mov byte [esp + 0x15], 0
call fcn.0047e110
sub ebp, 8
neg ebp
sbb ebp, ebp
and ebp, 0xe
add ebp, 8
jmp 0x47f80b
test ebp, ebp
jne 0x47f7f2
mov ebp, 8
mov dword [esp + 0x1c], ebp
sub ebp, 8
neg ebp
sbb ebp, ebp
and ebp, 0xe
add ebp, 8
jmp 0x47f80b
test ebp, ebp
je 0x47f806
cmp ebp, 0xa
je 0x47f806
sub ebp, 8
neg ebp
sbb ebp, ebp
and ebp, 0xe
add ebp, 8
jmp 0x47f80b
mov ebp, 0xa
mov al, byte [esp + 0x15]
mov ebx, 0xf
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x28], al
mov dword [esp + 0x38], 1
mov byte [esp + 0x29], 0
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, esi
mov byte [esp + 0x70], 1
xor edi, edi
call fcn.0047d8d0
test al, al
jne 0x47f9e6
cmp byte [esi + 4], 0
jne 0x47f882
mov ecx, dword [esi]
test ecx, ecx
je 0x47f878
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x47f867
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x47f867
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x47f86e
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x47f878
mov byte [esi + 5], al
jmp 0x47f87e
mov dword [esi], 0
mov byte [esi + 4], 1
mov al, byte [esi + 5]
mov ecx, dword [esp + 0x18]
movsx edx, al
push ebp
push edx
push str.0123456789abcdefABCDEF
mov byte [ecx], al
call fcn.0058db90
add esp, 0xc
test eax, eax
je 0x47f8f5
cmp byte [esp + 0x17], 0
jne 0x47f8b1
mov eax, dword [esp + 0x18]
cmp byte [eax], 0x30
je 0x47f8c7
mov eax, dword [esp + 0x20]
add eax, 0x1f
cmp dword [esp + 0x18], eax
jae 0x47f8c7
inc dword [esp + 0x18]
mov byte [esp + 0x17], 1
mov eax, dword [esp + 0x28]
mov byte [esp + 0x15], 1
cmp ebx, 0x10
jae 0x47f8d9
lea eax, [esp + 0x28]
cmp byte [eax + edi], 0x7f
je 0x47f970
mov eax, dword [esp + 0x28]
cmp ebx, 0x10
jae 0x47f8f0
lea eax, [esp + 0x28]
inc byte [eax + edi]
jmp 0x47f96c
mov eax, dword [esp + 0x28]
cmp ebx, 0x10
jae 0x47f902
lea eax, [esp + 0x28]
cmp byte [eax + edi], 0
je 0x47f9c7
cmp byte [esp + 0x16], 0
je 0x47f9c7
cmp byte [esi + 4], 0
jne 0x47f955
mov ecx, dword [esi]
test ecx, ecx
je 0x47f94b
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x47f93a
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x47f93a
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x47f941
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x47f94b
mov byte [esi + 5], al
jmp 0x47f951
mov dword [esi], 0
mov byte [esi + 4], 1
mov cl, byte [esp + 0x16]
cmp byte [esi + 5], cl
jne 0x47f9c7
push 0
push 1
lea ecx, [esp + 0x30]
call fcn.0047ea20
inc edi
mov ebx, dword [esp + 0x3c]
mov ecx, dword [esi]
test ecx, ecx
je 0x47f9a9
mov edx, dword [ecx + 0x20]
cmp dword [edx], 0
je 0x47f997
mov eax, dword [ecx + 0x30]
cmp dword [eax], 0
jle 0x47f997
dec dword [eax]
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x47f99e
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
cmp eax, 0xffffffff
je 0x47f9a9
mov byte [esi + 4], 0
jmp 0x47f9b3
mov dword [esi], 0
mov byte [esi + 4], 1
mov eax, dword [esp + 0x24]
push eax
mov ecx, esi
call fcn.0047d8d0
test al, al
je 0x47f844
test edi, edi
je 0x47f9e6
mov eax, dword [esp + 0x28]
cmp ebx, 0x10
jae 0x47f9d8
lea eax, [esp + 0x28]
cmp byte [eax + edi], 0
jle 0x47f9e1
inc edi
jmp 0x47f9e6
mov byte [esp + 0x15], 0
mov edx, dword [esp + 0x44]
mov ebp, 0x10
cmp dword [esp + 0x58], ebp
jae 0x47f9f9
lea edx, [esp + 0x44]
cmp byte [esp + 0x15], 0
mov esi, dword [esp + 0x28]
je 0x47fa4d
test edi, edi
je 0x47fa3c
mov cl, byte [edx]
cmp cl, 0x7f
je 0x47fa3c
dec edi
je 0x47fa21
mov eax, esi
cmp ebx, ebp
jae 0x47fa1c
lea eax, [esp + 0x28]
cmp cl, byte [eax + edi]
jne 0x47fa4d
test edi, edi
jne 0x47fa33
mov eax, esi
cmp ebx, ebp
jae 0x47fa2f
lea eax, [esp + 0x28]
cmp cl, byte [eax]
jl 0x47fa4d
cmp byte [edx + 1], 0
jle 0x47fa04
inc edx
jmp 0x47fa04
cmp byte [esp + 0x17], 0
mov eax, dword [esp + 0x18]
jne 0x47fa51
mov byte [eax], 0x30
inc eax
jmp 0x47fa51
mov eax, dword [esp + 0x20]
mov byte [eax], 0
cmp ebx, ebp
jb 0x47fa61
push esi
call fcn.00584768
add esp, 4
cmp dword [esp + 0x58], ebp
jb 0x47fa74
mov ecx, dword [esp + 0x44]
push ecx
call fcn.00584768
add esp, 4
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x64]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x4c]
xor ecx, esp
call fcn.00585b7b
add esp, 0x5c
ret