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

Disassembly:
push 0xffffffffffffffff
push 0x522550
mov eax, dword fs:[0]
push eax
sub esp, 0x50
mov eax, dword [0x5a4aa8]
xor eax, esp
mov dword [esp + 0x4c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5a4aa8]
xor eax, esp
push eax
lea eax, [esp + 0x64]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x7c]
mov ebx, ecx
push eax
mov dword [esp + 0x28], ebx
mov esi, edx
call fcn.004387b0
add esp, 4
lea ecx, [esp + 0x44]
mov edi, eax
push ecx
mov ecx, edi
call fcn.00438990
mov dword [esp + 0x6c], 0
cmp dword [esp + 0x58], 0
jne 0x4383d7
mov byte [esp + 0x16], 0
jmp 0x4383e4
mov edx, dword [edi]
mov eax, dword [edx + 8]
mov ecx, edi
call eax
mov byte [esp + 0x16], al
mov edi, dword [esp + 0x20]
mov dword [esp + 0x1c], ebx
call fcn.00437870
test al, al
jne 0x438419
call fcn.00438b60
cmp al, 0x2b
jne 0x438402
mov byte [ebx], al
jmp 0x43840d
call fcn.00438b60
cmp al, 0x2d
jne 0x438419
mov byte [ebx], al
add ebx, 1
mov dword [esp + 0x1c], ebx
call fcn.00438af0
and ebp, 0xe00
cmp ebp, 0x400
jne 0x43842e
mov ebp, 8
jmp 0x438444
cmp ebp, 0x800
jne 0x43843d
mov ebp, 0x10
jmp 0x438444
neg ebp
sbb ebp, ebp
and ebp, 0xa
mov dword [esp + 0x18], ebp
mov byte [esp + 0x15], 0
mov byte [esp + 0x17], 0
call fcn.00437870
test al, al
jne 0x4384b4
call fcn.00438b60
cmp al, 0x30
jne 0x4384b4
mov byte [esp + 0x15], 1
call fcn.00438af0
call fcn.00437870
test al, al
jne 0x4384a6
call fcn.00438b60
cmp al, 0x78
je 0x438489
call fcn.00438b60
cmp al, 0x58
jne 0x4384a6
test ebp, ebp
je 0x438492
cmp ebp, 0x10
jne 0x4384a6
mov dword [esp + 0x18], 0x10
mov byte [esp + 0x15], 0
call fcn.00438af0
jmp 0x4384bd
test ebp, ebp
jne 0x4384b8
mov dword [esp + 0x18], 8
jmp 0x4384bd
test ebp, ebp
je 0x4384d0
cmp ebp, 0xa
je 0x4384d0
mov ebx, dword [esp + 0x18]
sub ebx, 8
neg ebx
sbb ebx, ebx
and ebx, 0xe
add ebx, 8
jmp 0x4384d5
mov ebx, 0xa
mov cl, byte [esp + 0x15]
xor ebp, ebp
mov dword [esp + 0x3c], ebp
mov byte [esp + 0x2c], 0
mov dword [esp + 0x40], 0xf
mov byte [esp + 0x2c], cl
mov dword [esp + 0x3c], 1
mov byte [esp + 0x2d], 0
mov byte [esp + 0x6c], 1
mov edi, dword [esp + 0x20]
call fcn.00437870
test al, al
jne 0x4386a0
cmp byte [esi + 8], 0
jne 0x438553
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x438548
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x438537
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x438537
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x43853e
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp eax, 0xffffffff
je 0x438548
mov byte [esi + 9], al
jmp 0x43854f
mov dword [esi + 4], 0
mov byte [esi + 8], 1
mov al, byte [esi + 9]
mov edi, dword [esp + 0x1c]
mov byte [edi], al
movsx eax, al
push ebx
push eax
push str.0123456789abcdefABCDEF
call fcn.004fb110
add esp, 0xc
test eax, eax
je 0x4385dd
cmp byte [esp + 0x17], 0
jne 0x43857e
cmp byte [edi], 0x30
je 0x438595
mov eax, dword [esp + 0x24]
add eax, 0x1f
cmp edi, eax
jae 0x438595
add edi, 1
mov dword [esp + 0x1c], edi
mov byte [esp + 0x17], 1
cmp ebp, dword [esp + 0x3c]
mov byte [esp + 0x15], 1
jbe 0x4385a5
call fcn.004f9d7d
mov eax, dword [esp + 0x2c]
mov edi, 0x10
cmp dword [esp + 0x40], edi
jae 0x4385b8
lea eax, [esp + 0x2c]
cmp byte [eax + ebp], 0x7f
je 0x43861b
cmp ebp, dword [esp + 0x3c]
jbe 0x4385c9
call fcn.004f9d7d
cmp dword [esp + 0x40], edi
mov eax, dword [esp + 0x2c]
jae 0x4385d7
lea eax, [esp + 0x2c]
add byte [eax + ebp], 1
jmp 0x43861b
cmp ebp, dword [esp + 0x3c]
jbe 0x4385e8
call fcn.004f9d7d
cmp dword [esp + 0x40], 0x10
mov eax, dword [esp + 0x2c]
jae 0x4385f7
lea eax, [esp + 0x2c]
cmp byte [eax + ebp], 0
je 0x438672
cmp byte [esp + 0x16], 0
je 0x438672
call fcn.00438b60
cmp al, byte [esp + 0x16]
jne 0x438672
lea edi, [esp + 0x28]
call fcn.00438bb0
add ebp, 1
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x438656
mov edx, dword [ecx + 0x20]
cmp dword [edx], 0
je 0x438644
mov eax, dword [ecx + 0x30]
cmp dword [eax], 0
jle 0x438644
add dword [eax], 0xffffffff
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x43864b
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
cmp eax, 0xffffffff
je 0x438656
mov byte [esi + 8], 0
jmp 0x438661
mov dword [esi + 4], 0
mov byte [esi + 8], 1
mov edi, dword [esp + 0x20]
call fcn.00437870
test al, al
je 0x438513
test ebp, ebp
je 0x4386a0
cmp ebp, dword [esp + 0x3c]
jbe 0x438681
call fcn.004f9d7d
cmp dword [esp + 0x40], 0x10
mov eax, dword [esp + 0x2c]
jae 0x438690
lea eax, [esp + 0x2c]
cmp byte [eax + ebp], 0
jle 0x43869b
add ebp, 1
jmp 0x4386a0
mov byte [esp + 0x15], 0
mov esi, dword [esp + 0x48]
mov edi, 0x10
cmp dword [esp + 0x5c], edi
jae 0x4386b3
lea esi, [esp + 0x48]
cmp byte [esp + 0x15], 0
je 0x438730
lea ebx, [ebx]
test ebp, ebp
jbe 0x43871d
cmp byte [esi], 0x7f
je 0x43871d
sub ebp, 1
je 0x4386ee
cmp ebp, dword [esp + 0x3c]
jbe 0x4386d9
call fcn.004f9d7d
cmp dword [esp + 0x40], edi
mov eax, dword [esp + 0x2c]
jae 0x4386e7
lea eax, [esp + 0x2c]
mov cl, byte [esi]
cmp cl, byte [eax + ebp]
jne 0x438730
test ebp, ebp
jne 0x438712
cmp ebp, dword [esp + 0x3c]
jbe 0x4386fd
call fcn.004f9d7d
cmp dword [esp + 0x40], edi
mov eax, dword [esp + 0x2c]
jae 0x43870b
lea eax, [esp + 0x2c]
mov dl, byte [esi]
cmp dl, byte [eax + ebp]
jl 0x438730
cmp byte [esi + 1], 0
jle 0x4386c0
add esi, 1
jmp 0x4386c0
cmp byte [esp + 0x17], 0
mov eax, dword [esp + 0x1c]
jne 0x438734
mov byte [eax], 0x30
add eax, 1
jmp 0x438734
mov eax, dword [esp + 0x24]
mov byte [eax], 0
mov byte [esp + 0x6c], 0
cmp dword [esp + 0x40], edi
jb 0x43874f
mov eax, dword [esp + 0x2c]
push eax
call fcn.004da999
add esp, 4
xor ebx, ebx
mov esi, 0xf
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], bl
mov dword [esp + 0x6c], 0xffffffff
cmp dword [esp + 0x5c], edi
jb 0x43877d
mov ecx, dword [esp + 0x48]
push ecx
call fcn.004da999
add esp, 4
mov eax, dword [esp + 0x18]
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], ebx
mov byte [esp + 0x48], 0
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.004fa103
add esp, 0x5c
ret