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

Disassembly:
push 0xffffffffffffffff
push 0x455690
mov eax, dword fs:[0]
push eax
sub esp, 0x50
mov eax, dword [0x46f7c0]
xor eax, esp
mov dword [esp + 0x4c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x46f7c0]
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.004184e0
mov edi, eax
add esp, 4
lea eax, [esp + 0x44]
push eax
mov ecx, edi
call fcn.00417cd0
cmp dword [esp + 0x54], 0
mov dword [esp + 0x6c], 0
jne 0x4238fd
mov byte [esp + 0x16], 0
jmp 0x42390a
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.00409dd0
test al, al
jne 0x42397d
cmp byte [esi + 4], al
jne 0x423957
mov ecx, dword [esi]
test ecx, ecx
je 0x42394d
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x42393c
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x42393c
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x423943
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
call edx
cmp eax, 0xffffffff
je 0x42394d
mov byte [esi + 5], al
jmp 0x423953
mov dword [esi], 0
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x2b
mov ecx, esi
jne 0x423965
mov byte [ebp], 0x2b
jmp 0x423973
call fcn.0040a560
cmp al, 0x2d
jne 0x42397d
mov byte [ebp], al
mov ecx, esi
inc ebp
mov dword [esp + 0x18], ebp
call fcn.0040a5b0
mov eax, dword [esp + 0x84]
and eax, 0xe00
cmp eax, 0x400
jne 0x42399b
mov ebp, 8
mov dword [esp + 0x1c], ebp
jmp 0x4239ba
cmp eax, 0x800
jne 0x4239ad
mov ebp, 0x10
mov dword [esp + 0x1c], ebp
jmp 0x4239ba
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.00409dd0
test al, al
jne 0x423a8e
cmp byte [esi + 4], al
jne 0x423a11
mov ecx, dword [esi]
test ecx, ecx
je 0x423a07
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x4239f6
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x4239f6
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x4239fd
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
call edx
cmp eax, 0xffffffff
je 0x423a07
mov byte [esi + 5], al
jmp 0x423a0d
mov dword [esi], 0
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x30
jne 0x423a8e
mov ecx, esi
mov byte [esp + 0x15], 1
call fcn.0040a5b0
push ebx
mov ecx, esi
call fcn.00409dd0
test al, al
jne 0x423a72
mov ecx, esi
call fcn.0040a560
cmp al, 0x78
je 0x423a45
mov ecx, esi
call fcn.0040a560
cmp al, 0x58
jne 0x423a72
test ebp, ebp
je 0x423a4e
cmp ebp, 0x10
jne 0x423a72
mov ebp, 0x10
mov ecx, esi
mov dword [esp + 0x1c], ebp
mov byte [esp + 0x15], 0
call fcn.0040a5b0
sub ebp, 8
neg ebp
sbb ebp, ebp
and ebp, 0xe
add ebp, 8
jmp 0x423aab
test ebp, ebp
jne 0x423a92
mov ebp, 8
mov dword [esp + 0x1c], ebp
sub ebp, 8
neg ebp
sbb ebp, ebp
and ebp, 0xe
add ebp, 8
jmp 0x423aab
test ebp, ebp
je 0x423aa6
cmp ebp, 0xa
je 0x423aa6
sub ebp, 8
neg ebp
sbb ebp, ebp
and ebp, 0xe
add ebp, 8
jmp 0x423aab
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.00409dd0
test al, al
jne 0x423c86
cmp byte [esi + 4], 0
jne 0x423b22
mov ecx, dword [esi]
test ecx, ecx
je 0x423b18
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x423b07
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x423b07
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x423b0e
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x423b18
mov byte [esi + 5], al
jmp 0x423b1e
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.0043d820
add esp, 0xc
test eax, eax
je 0x423b95
cmp byte [esp + 0x17], 0
jne 0x423b51
mov eax, dword [esp + 0x18]
cmp byte [eax], 0x30
je 0x423b67
mov eax, dword [esp + 0x20]
add eax, 0x1f
cmp dword [esp + 0x18], eax
jae 0x423b67
inc dword [esp + 0x18]
mov byte [esp + 0x17], 1
mov eax, dword [esp + 0x28]
mov byte [esp + 0x15], 1
cmp ebx, 0x10
jae 0x423b79
lea eax, [esp + 0x28]
cmp byte [eax + edi], 0x7f
je 0x423c10
mov eax, dword [esp + 0x28]
cmp ebx, 0x10
jae 0x423b90
lea eax, [esp + 0x28]
inc byte [eax + edi]
jmp 0x423c0c
mov eax, dword [esp + 0x28]
cmp ebx, 0x10
jae 0x423ba2
lea eax, [esp + 0x28]
cmp byte [eax + edi], 0
je 0x423c67
cmp byte [esp + 0x16], 0
je 0x423c67
cmp byte [esi + 4], 0
jne 0x423bf5
mov ecx, dword [esi]
test ecx, ecx
je 0x423beb
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x423bda
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x423bda
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x423be1
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x423beb
mov byte [esi + 5], al
jmp 0x423bf1
mov dword [esi], 0
mov byte [esi + 4], 1
mov cl, byte [esp + 0x16]
cmp byte [esi + 5], cl
jne 0x423c67
push 0
push 1
lea ecx, [esp + 0x30]
call fcn.0040a650
inc edi
mov ebx, dword [esp + 0x3c]
mov ecx, dword [esi]
test ecx, ecx
je 0x423c49
mov edx, dword [ecx + 0x20]
cmp dword [edx], 0
je 0x423c37
mov eax, dword [ecx + 0x30]
cmp dword [eax], 0
jle 0x423c37
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 0x423c3e
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
cmp eax, 0xffffffff
je 0x423c49
mov byte [esi + 4], 0
jmp 0x423c53
mov dword [esi], 0
mov byte [esi + 4], 1
mov eax, dword [esp + 0x24]
push eax
mov ecx, esi
call fcn.00409dd0
test al, al
je 0x423ae4
test edi, edi
je 0x423c86
mov eax, dword [esp + 0x28]
cmp ebx, 0x10
jae 0x423c78
lea eax, [esp + 0x28]
cmp byte [eax + edi], 0
jle 0x423c81
inc edi
jmp 0x423c86
mov byte [esp + 0x15], 0
mov edx, dword [esp + 0x44]
mov ebp, 0x10
cmp dword [esp + 0x58], ebp
jae 0x423c99
lea edx, [esp + 0x44]
cmp byte [esp + 0x15], 0
mov esi, dword [esp + 0x28]
je 0x423ced
test edi, edi
je 0x423cdc
mov cl, byte [edx]
cmp cl, 0x7f
je 0x423cdc
dec edi
je 0x423cc1
mov eax, esi
cmp ebx, ebp
jae 0x423cbc
lea eax, [esp + 0x28]
cmp cl, byte [eax + edi]
jne 0x423ced
test edi, edi
jne 0x423cd3
mov eax, esi
cmp ebx, ebp
jae 0x423ccf
lea eax, [esp + 0x28]
cmp cl, byte [eax]
jl 0x423ced
cmp byte [edx + 1], 0
jle 0x423ca4
inc edx
jmp 0x423ca4
cmp byte [esp + 0x17], 0
mov eax, dword [esp + 0x18]
jne 0x423cf1
mov byte [eax], 0x30
inc eax
jmp 0x423cf1
mov eax, dword [esp + 0x20]
mov byte [eax], 0
cmp ebx, ebp
jb 0x423d01
push esi
call fcn.0043a71e
add esp, 4
cmp dword [esp + 0x58], ebp
jb 0x423d14
mov ecx, dword [esp + 0x44]
push ecx
call fcn.0043a71e
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.0043b8c7
add esp, 0x5c
ret