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

Disassembly:
push 0xffffffffffffffff
push 0x4bec70
mov eax, dword fs:[0]
push eax
sub esp, 0x64
mov eax, dword [0x502344]
xor eax, esp
mov dword [esp + 0x60], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x502344]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x94]
mov edi, dword [esp + 0x88]
mov ebp, dword [esp + 0x90]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x9c]
push eax
mov dword [esp + 0x38], ecx
call fcn.00440a30
add esp, 4
mov esi, eax
lea edx, [esp + 0x58]
push edx
mov ecx, esi
call fcn.0043f430
xor ebx, ebx
mov dword [esp + 0x80], ebx
cmp dword [esp + 0x6c], ebx
jne 0x443b19
mov dword [esp + 0x38], ebx
jmp 0x443b29
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
movzx eax, ax
mov dword [esp + 0x38], eax
add edi, 8
push edi
lea ecx, [esp + 0x20]
push ecx
push 1
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x34]
push eax
mov byte [esp + 0x28], 0x30
mov dword [esp + 0x38], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x44], edi
call fcn.0049c2b7
mov ecx, dword [esp + 0x40]
add esp, 0x14
mov dword [esp + 0x20], ecx
cmp byte [ebp + 4], bl
jne 0x443b6b
mov ecx, ebp
call fcn.00445570
mov esi, dword [esp + 0x34]
cmp byte [esi + 4], bl
jne 0x443b7b
mov ecx, esi
call fcn.00445570
cmp dword [ebp], ebx
jne 0x443b8a
cmp dword [esi], ebx
je 0x443c2a
jmp 0x443b92
cmp dword [esi], ebx
jne 0x443c2a
cmp byte [ebp + 4], bl
jne 0x443b9e
mov ecx, ebp
call fcn.00445570
movzx esi, word [ebp + 6]
push edi
lea edx, [esp + 0x2c]
push edx
push 1
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x2c]
push ecx
mov byte [esp + 0x28], 0x2b
mov dword [esp + 0x30], ebx
mov dword [esp + 0x3c], ebx
call fcn.0049c2b7
add esp, 0x14
cmp si, word [esp + 0x1c]
jne 0x443bd9
mov eax, dword [esp + 0x2c]
mov byte [eax], 0x2b
jmp 0x443c1e
cmp byte [ebp + 4], bl
jne 0x443be5
mov ecx, ebp
call fcn.00445570
movzx esi, word [ebp + 6]
push edi
lea edx, [esp + 0x2c]
push edx
push 1
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x2c]
push ecx
mov byte [esp + 0x28], 0x2d
mov dword [esp + 0x30], ebx
mov dword [esp + 0x3c], ebx
call fcn.0049c2b7
add esp, 0x14
cmp si, word [esp + 0x1c]
jne 0x443c2a
mov eax, dword [esp + 0x2c]
mov byte [eax], 0x2d
inc eax
mov ecx, ebp
mov dword [esp + 0x20], eax
call fcn.00445510
mov eax, dword [esp + 0x98]
and eax, 0xe00
cmp eax, 0x400
jne 0x443c48
mov edi, 8
mov dword [esp + 0x1c], edi
jmp 0x443c67
cmp eax, 0x800
jne 0x443c5a
mov edi, 0x10
mov dword [esp + 0x1c], edi
jmp 0x443c67
neg eax
sbb eax, eax
and eax, 0xa
mov edi, eax
mov dword [esp + 0x1c], eax
mov esi, dword [esp + 0x34]
push esi
push ebp
mov byte [esp + 0x22], bl
mov byte [esp + 0x23], bl
call fcn.00445cd0
add esp, 8
test al, al
je 0x443d53
cmp byte [ebp + 4], bl
jne 0x443c91
mov ecx, ebp
call fcn.00445570
movzx eax, word [ebp + 6]
cmp ax, word [esp + 0x24]
jne 0x443d53
mov ecx, ebp
mov byte [esp + 0x1a], 1
call fcn.00445510
push esi
push ebp
call fcn.00445cd0
add esp, 8
test al, al
je 0x443d44
cmp byte [ebp + 4], bl
jne 0x443cca
mov ecx, ebp
call fcn.00445570
mov edx, dword [esp + 0x30]
movzx esi, word [ebp + 6]
push edx
lea eax, [esp + 0x2c]
push eax
push 1
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x34]
push edx
mov byte [esp + 0x28], 0x78
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
call fcn.0049c2b7
add esp, 0x14
cmp si, word [esp + 0x24]
je 0x443d25
cmp byte [ebp + 4], bl
jne 0x443d0c
mov ecx, ebp
call fcn.00445570
mov eax, dword [esp + 0x30]
movzx esi, word [ebp + 6]
push eax
push ebx
push 0x58
call fcn.004474a0
add esp, 0xc
cmp si, ax
jne 0x443d44
cmp edi, ebx
je 0x443d2e
cmp edi, 0x10
jne 0x443d44
mov edi, 0x10
mov ecx, ebp
mov dword [esp + 0x1c], edi
mov byte [esp + 0x1a], bl
call fcn.00445510
jmp 0x443d5c
cmp edi, ebx
jne 0x443d57
mov edi, 8
mov dword [esp + 0x1c], edi
jmp 0x443d5c
cmp edi, ebx
je 0x443d71
cmp edi, 0xa
je 0x443d71
mov eax, edi
sub eax, 8
neg eax
sbb eax, eax
and eax, 0xe
add eax, 8
mov dword [esp + 0x24], eax
jmp 0x443d79
mov dword [esp + 0x24], 0xa
mov cl, byte [esp + 0x1a]
mov dword [esp + 0x50], ebx
mov byte [esp + 0x40], bl
mov dword [esp + 0x54], 0xf
mov byte [esp + 0x40], cl
mov dword [esp + 0x50], 1
mov byte [esp + 0x41], bl
mov byte [esp + 0x80], 1
mov esi, dword [esp + 0x34]
xor edi, edi
jmp 0x443db0
cmp byte [ebp + 4], bl
jne 0x443df5
mov ecx, dword [ebp]
cmp ecx, ebx
je 0x443dee
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x443dd1
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x443dd1
mov eax, dword [eax]
movzx eax, word [eax]
jmp 0x443ddb
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
movzx eax, ax
movzx eax, ax
mov ecx, 0xffff
cmp cx, ax
je 0x443dee
mov word [ebp + 6], ax
jmp 0x443df1
mov dword [ebp], ebx
mov byte [ebp + 4], 1
cmp byte [esi + 4], bl
jne 0x443e38
mov ecx, dword [esi]
cmp ecx, ebx
je 0x443e32
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x443e15
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x443e15
mov eax, dword [eax]
movzx eax, word [eax]
jmp 0x443e1f
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
movzx eax, ax
movzx eax, ax
mov ecx, 0xffff
cmp cx, ax
je 0x443e32
mov word [esi + 6], ax
jmp 0x443e34
mov dword [esi], ebx
mov byte [esi + 4], 1
mov ecx, dword [ebp]
cmp ecx, ebx
jne 0x443e74
cmp dword [esi], ebx
jne 0x443e78
cmp edi, ebx
je 0x444094
cmp edi, dword [esp + 0x50]
jbe 0x443e56
call fcn.0049d32a
cmp dword [esp + 0x54], 0x10
mov eax, dword [esp + 0x40]
jae 0x443e65
lea eax, [esp + 0x40]
cmp byte [eax + edi], bl
jle 0x444090
inc edi
jmp 0x444094
cmp dword [esi], ebx
jne 0x443e43
cmp byte [ebp + 4], bl
jne 0x443eba
cmp ecx, ebx
je 0x443eb3
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x443e96
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x443e96
mov eax, dword [eax]
movzx eax, word [eax]
jmp 0x443ea0
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
movzx eax, ax
movzx eax, ax
mov ecx, 0xffff
cmp cx, ax
je 0x443eb3
mov word [ebp + 6], ax
jmp 0x443eb6
mov dword [ebp], ebx
mov byte [ebp + 4], 1
mov edx, dword [esp + 0x30]
movzx eax, word [ebp + 6]
push edx
lea ecx, [esp + 0x2c]
push ecx
push eax
lea edx, [esp + 0x20]
push edx
mov byte [esp + 0x24], bl
mov dword [esp + 0x38], ebx
call fcn.0049c42b
mov al, byte [esp + 0x24]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov byte [ecx], al
movsx eax, al
push edx
push eax
push str.0123456789abcdefABCDEF
call fcn.004a0420
add esp, 0x1c
test eax, eax
je 0x443f6f
cmp byte [esp + 0x1b], bl
jne 0x443f0e
mov ecx, dword [esp + 0x20]
cmp byte [ecx], 0x30
je 0x443f24
mov eax, dword [esp + 0x2c]
add eax, 0x1f
cmp dword [esp + 0x20], eax
jae 0x443f24
inc dword [esp + 0x20]
mov byte [esp + 0x1b], 1
mov byte [esp + 0x1a], 1
cmp edi, dword [esp + 0x50]
jbe 0x443f34
call fcn.0049d32a
cmp dword [esp + 0x54], 0x10
mov eax, dword [esp + 0x40]
jae 0x443f43
lea eax, [esp + 0x40]
cmp byte [eax + edi], 0x7f
je 0x444027
cmp edi, dword [esp + 0x50]
jbe 0x443f58
call fcn.0049d32a
cmp dword [esp + 0x54], 0x10
mov eax, dword [esp + 0x40]
jae 0x443f67
lea eax, [esp + 0x40]
inc byte [eax + edi]
jmp 0x444027
cmp edi, dword [esp + 0x50]
jbe 0x443f7a
call fcn.0049d32a
cmp dword [esp + 0x54], 0x10
mov eax, dword [esp + 0x40]
jae 0x443f89
lea eax, [esp + 0x40]
cmp byte [eax + edi], bl
je 0x443e43
mov esi, dword [esp + 0x38]
cmp si, bx
je 0x443e43
cmp byte [ebp + 4], bl
jne 0x443fab
mov ecx, ebp
call fcn.00445570
movzx eax, word [ebp + 6]
cmp ax, si
jne 0x443e43
or edx, 0xffffffff
sub edx, dword [esp + 0x50]
cmp edx, 1
ja 0x443fc9
call fcn.0049bca9
mov esi, dword [esp + 0x50]
inc esi
cmp esi, 0xfffffffe
jbe 0x443fd8
call fcn.0049bca9
mov eax, dword [esp + 0x54]
cmp eax, esi
jae 0x44404f
mov eax, dword [esp + 0x50]
push eax
push esi
lea ecx, [esp + 0x44]
call fcn.00404f8c
cmp esi, ebx
jbe 0x444022
mov eax, dword [esp + 0x40]
mov ecx, 0x10
cmp dword [esp + 0x54], ecx
jae 0x444006
lea eax, [esp + 0x40]
mov edx, dword [esp + 0x50]
mov byte [eax + edx], bl
mov eax, dword [esp + 0x40]
mov dword [esp + 0x50], esi
cmp dword [esp + 0x54], ecx
jae 0x44401f
lea eax, [esp + 0x40]
mov byte [eax + esi], bl
mov esi, dword [esp + 0x34]
inc edi
mov ecx, dword [ebp]
cmp ecx, ebx
je 0x444084
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x444068
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x444068
mov eax, edx
dec dword [eax]
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 2]
mov dword [ecx], edx
movzx eax, word [eax]
jmp 0x444072
cmp esi, ebx
jne 0x443ff1
cmp eax, 0x10
mov eax, dword [esp + 0x40]
mov dword [esp + 0x50], ebx
jae 0x444064
lea eax, [esp + 0x40]
mov byte [eax], bl
jmp 0x444022
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
movzx eax, ax
mov ecx, 0xffff
cmp cx, ax
je 0x444084
mov byte [ebp + 4], bl
jmp 0x443db0
mov dword [ebp], ebx
mov byte [ebp + 4], 1
jmp 0x443db0
mov byte [esp + 0x1a], bl
cmp dword [esp + 0x70], 0x10
mov esi, dword [esp + 0x5c]
jae 0x4440a3
lea esi, [esp + 0x5c]
mov ebp, 0x10
cmp byte [esp + 0x1a], bl
je 0x44411a
mov edi, edi
cmp edi, ebx
jbe 0x44410a
cmp byte [esi], 0x7f
je 0x44410a
sub edi, 1
je 0x4440de
cmp edi, dword [esp + 0x50]
jbe 0x4440c9
call fcn.0049d32a
mov eax, dword [esp + 0x40]
cmp dword [esp + 0x54], ebp
jae 0x4440d7
lea eax, [esp + 0x40]
mov dl, byte [esi]
cmp dl, byte [eax + edi]
jne 0x44411a
cmp edi, ebx
jne 0x444102
cmp edi, dword [esp + 0x50]
jbe 0x4440ed
call fcn.0049d32a
mov eax, dword [esp + 0x40]
cmp dword [esp + 0x54], ebp
jae 0x4440fb
lea eax, [esp + 0x40]
mov cl, byte [esi]
cmp cl, byte [eax + edi]
jl 0x44411a
cmp byte [esi + 1], bl
jle 0x4440b0
inc esi
jmp 0x4440b0
mov eax, dword [esp + 0x20]
cmp byte [esp + 0x1b], bl
jne 0x44411e
mov byte [eax], 0x30
inc eax
jmp 0x44411e
mov eax, dword [esp + 0x2c]
mov byte [eax], bl
mov byte [esp + 0x80], bl
cmp dword [esp + 0x54], ebp
jb 0x44413a
mov edx, dword [esp + 0x40]
push edx
call fcn.0049cdc0
add esp, 4
mov esi, 0xf
mov dword [esp + 0x54], esi
mov dword [esp + 0x50], ebx
mov byte [esp + 0x40], bl
mov dword [esp + 0x80], 0xffffffff
cmp dword [esp + 0x70], ebp
jb 0x444169
mov eax, dword [esp + 0x5c]
push eax
call fcn.0049cdc0
add esp, 4
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x70], esi
mov dword [esp + 0x6c], ebx
mov byte [esp + 0x5c], bl
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.0049cdcb
add esp, 0x70
ret