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

Disassembly:
push 0xffffffffffffffff
push 0x4d2c50
mov eax, dword fs:[0]
push eax
sub esp, 0x64
mov eax, dword [0x51f714]
xor eax, esp
mov dword [esp + 0x60], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x51f714]
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.0044de20
add esp, 4
mov esi, eax
lea edx, [esp + 0x58]
push edx
mov ecx, esi
call fcn.0044b860
xor ebx, ebx
mov dword [esp + 0x80], ebx
cmp dword [esp + 0x6c], ebx
jne 0x44fec9
mov dword [esp + 0x38], ebx
jmp 0x44fed9
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.004abd94
mov ecx, dword [esp + 0x40]
add esp, 0x14
mov dword [esp + 0x20], ecx
cmp byte [ebp + 4], bl
jne 0x44ff1b
mov ecx, ebp
call fcn.004516a0
mov esi, dword [esp + 0x34]
cmp byte [esi + 4], bl
jne 0x44ff2b
mov ecx, esi
call fcn.004516a0
cmp dword [ebp], ebx
jne 0x44ff3a
cmp dword [esi], ebx
je 0x44ffda
jmp 0x44ff42
cmp dword [esi], ebx
jne 0x44ffda
cmp byte [ebp + 4], bl
jne 0x44ff4e
mov ecx, ebp
call fcn.004516a0
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.004abd94
add esp, 0x14
cmp si, word [esp + 0x1c]
jne 0x44ff89
mov eax, dword [esp + 0x2c]
mov byte [eax], 0x2b
jmp 0x44ffce
cmp byte [ebp + 4], bl
jne 0x44ff95
mov ecx, ebp
call fcn.004516a0
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.004abd94
add esp, 0x14
cmp si, word [esp + 0x1c]
jne 0x44ffda
mov eax, dword [esp + 0x2c]
mov byte [eax], 0x2d
inc eax
mov ecx, ebp
mov dword [esp + 0x20], eax
call fcn.00451640
mov eax, dword [esp + 0x98]
and eax, 0xe00
cmp eax, 0x400
jne 0x44fff8
mov edi, 8
mov dword [esp + 0x1c], edi
jmp 0x450017
cmp eax, 0x800
jne 0x45000a
mov edi, 0x10
mov dword [esp + 0x1c], edi
jmp 0x450017
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.00451d00
add esp, 8
test al, al
je 0x450103
cmp byte [ebp + 4], bl
jne 0x450041
mov ecx, ebp
call fcn.004516a0
movzx eax, word [ebp + 6]
cmp ax, word [esp + 0x24]
jne 0x450103
mov ecx, ebp
mov byte [esp + 0x1a], 1
call fcn.00451640
push esi
push ebp
call fcn.00451d00
add esp, 8
test al, al
je 0x4500f4
cmp byte [ebp + 4], bl
jne 0x45007a
mov ecx, ebp
call fcn.004516a0
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.004abd94
add esp, 0x14
cmp si, word [esp + 0x24]
je 0x4500d5
cmp byte [ebp + 4], bl
jne 0x4500bc
mov ecx, ebp
call fcn.004516a0
mov eax, dword [esp + 0x30]
movzx esi, word [ebp + 6]
push eax
push ebx
push 0x58
call fcn.00452e40
add esp, 0xc
cmp si, ax
jne 0x4500f4
cmp edi, ebx
je 0x4500de
cmp edi, 0x10
jne 0x4500f4
mov edi, 0x10
mov ecx, ebp
mov dword [esp + 0x1c], edi
mov byte [esp + 0x1a], bl
call fcn.00451640
jmp 0x45010c
cmp edi, ebx
jne 0x450107
mov edi, 8
mov dword [esp + 0x1c], edi
jmp 0x45010c
cmp edi, ebx
je 0x450121
cmp edi, 0xa
je 0x450121
mov eax, edi
sub eax, 8
neg eax
sbb eax, eax
and eax, 0xe
add eax, 8
mov dword [esp + 0x24], eax
jmp 0x450129
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 0x450160
cmp byte [ebp + 4], bl
jne 0x4501a5
mov ecx, dword [ebp]
cmp ecx, ebx
je 0x45019e
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x450181
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x450181
mov eax, dword [eax]
movzx eax, word [eax]
jmp 0x45018b
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
movzx eax, ax
movzx eax, ax
mov ecx, 0xffff
cmp cx, ax
je 0x45019e
mov word [ebp + 6], ax
jmp 0x4501a1
mov dword [ebp], ebx
mov byte [ebp + 4], 1
cmp byte [esi + 4], bl
jne 0x4501e8
mov ecx, dword [esi]
cmp ecx, ebx
je 0x4501e2
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x4501c5
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x4501c5
mov eax, dword [eax]
movzx eax, word [eax]
jmp 0x4501cf
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
movzx eax, ax
movzx eax, ax
mov ecx, 0xffff
cmp cx, ax
je 0x4501e2
mov word [esi + 6], ax
jmp 0x4501e4
mov dword [esi], ebx
mov byte [esi + 4], 1
mov ecx, dword [ebp]
cmp ecx, ebx
jne 0x450224
cmp dword [esi], ebx
jne 0x450228
cmp edi, ebx
je 0x450444
cmp edi, dword [esp + 0x50]
jbe 0x450206
call fcn.004af418
cmp dword [esp + 0x54], 0x10
mov eax, dword [esp + 0x40]
jae 0x450215
lea eax, [esp + 0x40]
cmp byte [eax + edi], bl
jle 0x450440
inc edi
jmp 0x450444
cmp dword [esi], ebx
jne 0x4501f3
cmp byte [ebp + 4], bl
jne 0x45026a
cmp ecx, ebx
je 0x450263
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x450246
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x450246
mov eax, dword [eax]
movzx eax, word [eax]
jmp 0x450250
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
movzx eax, ax
movzx eax, ax
mov ecx, 0xffff
cmp cx, ax
je 0x450263
mov word [ebp + 6], ax
jmp 0x450266
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.004abf08
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.004b0d60
add esp, 0x1c
test eax, eax
je 0x45031f
cmp byte [esp + 0x1b], bl
jne 0x4502be
mov ecx, dword [esp + 0x20]
cmp byte [ecx], 0x30
je 0x4502d4
mov eax, dword [esp + 0x2c]
add eax, 0x1f
cmp dword [esp + 0x20], eax
jae 0x4502d4
inc dword [esp + 0x20]
mov byte [esp + 0x1b], 1
mov byte [esp + 0x1a], 1
cmp edi, dword [esp + 0x50]
jbe 0x4502e4
call fcn.004af418
cmp dword [esp + 0x54], 0x10
mov eax, dword [esp + 0x40]
jae 0x4502f3
lea eax, [esp + 0x40]
cmp byte [eax + edi], 0x7f
je 0x4503d7
cmp edi, dword [esp + 0x50]
jbe 0x450308
call fcn.004af418
cmp dword [esp + 0x54], 0x10
mov eax, dword [esp + 0x40]
jae 0x450317
lea eax, [esp + 0x40]
inc byte [eax + edi]
jmp 0x4503d7
cmp edi, dword [esp + 0x50]
jbe 0x45032a
call fcn.004af418
cmp dword [esp + 0x54], 0x10
mov eax, dword [esp + 0x40]
jae 0x450339
lea eax, [esp + 0x40]
cmp byte [eax + edi], bl
je 0x4501f3
mov esi, dword [esp + 0x38]
cmp si, bx
je 0x4501f3
cmp byte [ebp + 4], bl
jne 0x45035b
mov ecx, ebp
call fcn.004516a0
movzx eax, word [ebp + 6]
cmp ax, si
jne 0x4501f3
or edx, 0xffffffff
sub edx, dword [esp + 0x50]
cmp edx, 1
ja 0x450379
call fcn.004ab736
mov esi, dword [esp + 0x50]
inc esi
cmp esi, 0xfffffffe
jbe 0x450388
call fcn.004ab736
mov eax, dword [esp + 0x54]
cmp eax, esi
jae 0x4503ff
mov eax, dword [esp + 0x50]
push eax
push esi
lea ecx, [esp + 0x44]
call fcn.00405847
cmp esi, ebx
jbe 0x4503d2
mov eax, dword [esp + 0x40]
mov ecx, 0x10
cmp dword [esp + 0x54], ecx
jae 0x4503b6
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 0x4503cf
lea eax, [esp + 0x40]
mov byte [eax + esi], bl
mov esi, dword [esp + 0x34]
inc edi
mov ecx, dword [ebp]
cmp ecx, ebx
je 0x450434
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x450418
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x450418
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 0x450422
cmp esi, ebx
jne 0x4503a1
cmp eax, 0x10
mov eax, dword [esp + 0x40]
mov dword [esp + 0x50], ebx
jae 0x450414
lea eax, [esp + 0x40]
mov byte [eax], bl
jmp 0x4503d2
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
movzx eax, ax
mov ecx, 0xffff
cmp cx, ax
je 0x450434
mov byte [ebp + 4], bl
jmp 0x450160
mov dword [ebp], ebx
mov byte [ebp + 4], 1
jmp 0x450160
mov byte [esp + 0x1a], bl
cmp dword [esp + 0x70], 0x10
mov esi, dword [esp + 0x5c]
jae 0x450453
lea esi, [esp + 0x5c]
mov ebp, 0x10
cmp byte [esp + 0x1a], bl
je 0x4504ca
mov edi, edi
cmp edi, ebx
jbe 0x4504ba
cmp byte [esi], 0x7f
je 0x4504ba
sub edi, 1
je 0x45048e
cmp edi, dword [esp + 0x50]
jbe 0x450479
call fcn.004af418
mov eax, dword [esp + 0x40]
cmp dword [esp + 0x54], ebp
jae 0x450487
lea eax, [esp + 0x40]
mov dl, byte [esi]
cmp dl, byte [eax + edi]
jne 0x4504ca
cmp edi, ebx
jne 0x4504b2
cmp edi, dword [esp + 0x50]
jbe 0x45049d
call fcn.004af418
mov eax, dword [esp + 0x40]
cmp dword [esp + 0x54], ebp
jae 0x4504ab
lea eax, [esp + 0x40]
mov cl, byte [esi]
cmp cl, byte [eax + edi]
jl 0x4504ca
cmp byte [esi + 1], bl
jle 0x450460
inc esi
jmp 0x450460
mov eax, dword [esp + 0x20]
cmp byte [esp + 0x1b], bl
jne 0x4504ce
mov byte [eax], 0x30
inc eax
jmp 0x4504ce
mov eax, dword [esp + 0x2c]
mov byte [eax], bl
mov byte [esp + 0x80], bl
cmp dword [esp + 0x54], ebp
jb 0x4504ea
mov edx, dword [esp + 0x40]
push edx
call fcn.004ad670
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 0x450519
mov eax, dword [esp + 0x5c]
push eax
call fcn.004ad670
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.004ad67b
add esp, 0x70
ret