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

Disassembly:
push 0xffffffffffffffff
push 0x529bb2
mov eax, dword fs:[0]
push eax
sub esp, 0x60
mov eax, dword [0x56fcac]
xor eax, esp
mov dword [esp + 0x5c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x56fcac]
xor eax, esp
push eax
lea eax, [esp + 0x74]
mov dword fs:[0], eax
xor ebx, ebx
push 0xffffffffffffffff
mov edi, ecx
mov dword [esp + 0x1c], ebx
push ebx
mov esi, 7
push edi
lea ecx, [esp + 0x60]
mov dword [esp + 0x78], esi
mov dword [esp + 0x74], ebx
mov word [esp + 0x64], bx
call fcn.00403310
mov dword [esp + 0x7c], ebx
push 2
push 0x547fc4
lea ecx, [esp + 0x40]
mov dword [esp + 0x58], esi
mov dword [esp + 0x54], ebx
mov word [esp + 0x44], bx
call fcn.00402af0
mov byte [esp + 0x7c], 1
mov eax, dword [edi + 0x14]
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
mov dword [esp + 0x18], 1
ja 0x4056a3
or eax, 0xffffffff
cmp ecx, 0xffffffff
jae 0x405590
mov eax, ecx
mov edx, dword [esp + 0x3c]
mov ebp, 8
cmp dword [esp + 0x50], ebp
jae 0x4055a3
lea edx, [esp + 0x3c]
push eax
push edx
push ecx
push ebx
mov ecx, edi
call fcn.00405e60
test eax, eax
sete al
cmp al, bl
je 0x4056a8
mov byte [esp + 0x17], 1
test byte [esp + 0x18], 2
je 0x4055ec
and dword [esp + 0x18], 0xfffffffd
cmp dword [esp + 0x34], ebp
jb 0x4055df
mov eax, dword [esp + 0x20]
push eax
call fcn.004aaa59
add esp, 4
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], ebx
mov word [esp + 0x20], bx
mov dword [esp + 0x7c], ebx
test byte [esp + 0x18], 1
je 0x40560a
cmp dword [esp + 0x50], ebp
jb 0x40560a
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.004aaa59
add esp, 4
cmp byte [esp + 0x17], bl
je 0x40564b
or edx, 0xffffffff
mov eax, 2
mov ecx, edi
lea esi, [esp + 0x38]
call fcn.00404d80
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x60]
mov byte [esp + 0x88], 3
call fcn.00403310
cmp dword [esp + 0x50], ebp
jb 0x40564b
mov edx, dword [esp + 0x3c]
push edx
call fcn.004aaa59
add esp, 4
mov esi, dword [esp + 0x6c]
cmp esi, ebp
mov ebp, dword [esp + 0x58]
mov edx, ebp
jae 0x40565d
lea edx, [esp + 0x58]
mov edi, dword [edi + 0x14]
cmp edi, 8
jbe 0x40566a
mov edi, 8
xor ecx, ecx
cmp edi, ebx
jbe 0x40574f
jmp 0x405680
movzx eax, word [edx + ecx*2]
cmp ax, 0x30
jb 0x405719
cmp ax, 0x39
ja 0x405719
movzx eax, ax
sub eax, 0x30
jmp 0x40573f
mov ebp, 8
push 2
push 0x547fcc
lea ecx, [esp + 0x24]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x38], ebx
mov word [esp + 0x28], bx
call fcn.00402af0
mov dword [esp + 0x7c], 2
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x30]
cmp eax, ecx
mov dword [esp + 0x18], 3
ja 0x405710
or ecx, 0xffffffff
cmp eax, 0xffffffff
jae 0x4056ea
mov ecx, eax
cmp dword [esp + 0x34], ebp
mov edx, dword [esp + 0x20]
jae 0x4056f8
lea edx, [esp + 0x20]
push ecx
push edx
push eax
push ebx
mov ecx, edi
call fcn.00405e60
test eax, eax
sete al
cmp al, bl
jne 0x4055bb
mov byte [esp + 0x17], bl
jmp 0x4055c0
cmp ax, 0x61
jb 0x40572d
cmp ax, 0x66
ja 0x40572d
movzx eax, ax
sub eax, 0x57
jmp 0x40573f
cmp ax, 0x41
jb 0x40574f
cmp ax, 0x46
ja 0x40574f
movzx eax, ax
sub eax, 0x37
shl ebx, 4
add ecx, 1
add ebx, eax
cmp ecx, edi
jb 0x405680
cmp esi, 8
jb 0x40575d
push ebp
call fcn.004aaa59
add esp, 4
mov eax, ebx
mov ecx, dword [esp + 0x74]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x5c]
xor ecx, esp
call fcn.004ead41
add esp, 0x6c
ret