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

Disassembly:
sub esp, 0x18c
mov eax, dword [esp + 0x198]
test eax, eax
mov dword [esp + 0x50], ecx
jne 0x44af51
lea eax, [esp + 0x4c]
and dword [eax], 0
test ecx, ecx
push ebx
push ebp
push esi
mov ebx, ecx
mov dword [esp + 0x3c], eax
push edi
mov dword [esp + 0x14], ebx
je 0x44b1a8
mov esi, dword [esp + 0x60]
cmp dword [0x466198], 0
mov ebp, 0x4585d8
je 0x44af88
push 0
mov ecx, 0x466180
call 0x48b674
call dword [fcn.0045826c]
mov edi, eax
sub eax, dword [0x466154]
cmp eax, dword [0x4651e4]
jbe 0x44afcf
xor eax, eax
push eax
push eax
push eax
push eax
lea eax, [esp + 0x8c]
push eax
call dword [0x4584c8]
test eax, eax
je 0x44afc1
push 1
push 0xffffffffffffffff
call fcn.004541c4
pop ecx
pop ecx
call dword [fcn.0045826c]
mov edi, eax
mov dword [0x466154], edi
cmp byte [0x4651f0], 0
jne 0x44b024
cmp byte [0x4651f2], 0
jne 0x44b024
mov eax, dword [0x466148]
cmp eax, 0xffffffff
jle 0x44b024
cmp dword [0x465160], eax
jle 0x44b01e
cmp byte [0x465351], 0
mov byte [0x4651f0], 1
je 0x44b024
push 0xa
push dword [0x465208]
call dword [fcn.0045853c]
test eax, eax
je 0x44b024
mov byte [0x465351], 0
jmp 0x44b024
inc dword [0x465160]
mov ecx, dword [0x46513c]
cmp ecx, 0xffffffff
jl 0x44b051
mov eax, dword [0x465138]
jg 0x44b03b
cmp eax, 0xffffffff
jbe 0x44b051
mov edx, dword [0x466144]
cmp edx, ecx
jg 0x44b065
jl 0x44b051
mov ecx, dword [0x466140]
cmp ecx, eax
jae 0x44b065
mov eax, dword [0x46515c]
cmp eax, 0xffffffff
jle 0x44b079
sub edi, dword [0x466150]
cmp edi, eax
jb 0x44b079
push 1
push 0xa
jmp 0x44b072
push 1
push 0x8000012f
call fcn.004541c4
pop ecx
pop ecx
cmp byte [0x4651fa], 0
jne 0x44b06b
mov eax, dword [0x468688]
mov dword [0x465ec4], ebx
mov dword [eax*4 + 0x468048], ebx
call dword [fcn.0045826c]
mov ecx, dword [0x468688]
mov dword [ecx*4 + 0x467960], eax
inc ecx
cmp ecx, 0x190
mov dword [0x468688], ecx
jl 0x44b0bd
and dword [0x468688], 0
xor edx, edx
cmp byte [ebx], 1
je 0x44b181
push edx
push 0xffffffffffffffff
mov ecx, ebx
call fcn.0044ac52
xor edi, edi
mov esi, eax
inc edi
cmp esi, edi
jne 0x44b2eb
xor edx, edx
mov al, byte [ebx]
cmp al, 0xa
jb 0x44b236
cmp al, 0x21
ja 0x44b236
add dword [0x466140], edi
mov ecx, ebx
adc dword [0x466144], 0
call fcn.0044e582
test eax, eax
je 0x44e1c9
push 3
pop ebp
cmp eax, ebp
jne 0x44b1b8
mov ecx, dword [ebx + 0x14]
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x1a8]
push ebp
call fcn.0044af38
mov ecx, dword [esp + 0x18]
cmp ecx, ebx
mov esi, eax
je 0x44b1a0
cmp dword [esp + 0x1a0], ebp
je 0x44e109
test esi, esi
je 0x44b2eb
cmp esi, 7
je 0x44b2eb
cmp esi, 8
je 0x44b2eb
cmp esi, 5
je 0x44b2eb
cmp esi, 6
je 0x44b2eb
test ecx, ecx
je 0x44b189
mov eax, dword [ecx + 0x1c]
cmp eax, dword [ebx + 0x1c]
jmp 0x44e0f1
xor edi, edi
inc edi
jmp 0x44b0e1
mov ebx, dword [ebx + 0x18]
test ebx, ebx
mov dword [esp + 0x14], ebx
je 0x44b1d1
cmp byte [ebx], 9
jne 0x44b1a0
mov ebx, dword [ebx + 0x18]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x44af6e
xor eax, eax
inc eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18c
ret 0xc
mov ebx, dword [ebx + 0x18]
test ebx, ebx
mov dword [esp + 0x14], ebx
je 0x44b1d1
cmp byte [ebx], 9
je 0x44b1d5
cmp dword [esp + 0x1a0], ebp
jne 0x44b1a0
mov eax, edi
jmp 0x44b1ab
mov ecx, dword [ebx + 0x14]
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x1a8]
push ebp
call fcn.0044af38
cmp dword [esp + 0x1a0], ebp
mov esi, eax
je 0x44e101
test esi, esi
je 0x44b2eb
cmp esi, 7
je 0x44b2eb
cmp esi, 8
je 0x44b2eb
cmp esi, 5
je 0x44b2eb
cmp esi, 6
je 0x44b2eb
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x44b199
jmp 0x44b176
movzx eax, al
cmp eax, 0x69
jg 0x44b683
je 0x44e1a5
sub eax, 8
je 0x44b270
sub eax, 0x57
je 0x44b2f2
dec eax
je 0x44b295
sub eax, 6
je 0x44e147
dec eax
je 0x44e114
dec eax
jne 0x44b6ac
mov edi, dword [ebx + 0xc]
xor ebp, ebp
cmp edi, 4
jne 0x44b349
push ebp
push dword [0x467fa0]
call fcn.00460346
pop ecx
pop ecx
mov dword [esp + 0x50], eax
jmp 0x44b3ec
add dword [0x466140], edi
adc dword [0x466144], edx
mov eax, dword [ebx + 0x18]
cmp eax, edx
mov dword [esp + 0x34], eax
jne 0x44b2c0
push edi
mov ecx, ebx
call fcn.0046db4c
test eax, eax
mov dword [esp + 0x34], eax
je 0x44e1c9
mov ecx, eax
call fcn.0044e55f
mov esi, eax
test esi, esi
je 0x44b2eb
cmp esi, 8
je 0x44b2eb
cmp dword [esp + 0x1a0], 3
jne 0x44e078
cmp esi, 7
mov eax, edi
je 0x44b1ab
mov eax, esi
jmp 0x44b1ab
add dword [0x466140], edi
adc dword [0x466144], edx
mov eax, dword [ebx + 0x18]
cmp eax, edx
mov dword [esp + 0x34], eax
jne 0x44b31d
push edi
mov ecx, ebx
call fcn.0046db4c
test eax, eax
mov dword [esp + 0x34], eax
je 0x44e1c9
cmp dword [esp + 0x1a0], 3
mov dword [0x4651d0], eax
je 0x44b33b
mov ecx, dword [eax + 4]
mov edx, dword [ebx + 0x1c]
cmp edx, dword [ecx + 0x1c]
je 0x44e0f3
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x40]
mov dword [ecx], eax
jmp 0x44b1d1
xor ecx, ecx
inc ecx
cmp edi, ecx
ja 0x44b3b3
movzx eax, byte [ebx + 1]
sub eax, ebp
je 0x44b3b0
dec eax
je 0x44b395
push 0x45b05c
push dword [0x467fa0]
call 0x48a411
test eax, eax
pop ecx
pop ecx
jne 0x44b375
push 5
jmp 0x44b3ad
push ebp
push dword [0x467fa0]
call fcn.00460346
pop ecx
pop ecx
xor ecx, ecx
cmp eax, ebp
setne cl
mov dword [esp + 0x50], eax
add ecx, 3
mov edi, ecx
jmp 0x44b3b3
push ebp
push ecx
push ecx
push ecx
push dword [0x467fa0]
call fcn.0044a71d
add esp, 0x14
test eax, eax
je 0x44b375
push 2
pop edi
jmp 0x44b42e
push 2
pop edi
cmp edi, 3
jne 0x44b3e7
cmp byte [ebx + 1], 1
ja 0x44b3c8
mov dword [esp + 0x44], 1
jmp 0x44b3e0
push dword [0x467fa4]
call fcn.0045cea9
cmp eax, ebp
pop ecx
mov dword [esp + 0x44], eax
je 0x44e16f
mov eax, dword [0x467fa8]
jmp 0x44b419
cmp edi, 4
jne 0x44b42e
cmp byte [ebx + 1], 2
ja 0x44b3fc
mov dword [esp + 0x44], 1
jmp 0x44b414
push dword [0x467fa8]
call fcn.0045cea9
cmp eax, ebp
pop ecx
mov dword [esp + 0x44], eax
je 0x44e17d
mov eax, dword [0x467fac]
cmp byte [eax], 0x31
jne 0x44b429
cmp byte [eax + 1], 0
mov byte [esp + 0x48], 1
je 0x44b42e
mov byte [esp + 0x48], 0
mov eax, dword [0x465144]
mov ebp, dword [0x465140]
mov dword [esp + 0x78], eax
mov eax, dword [0x465148]
mov dword [esp + 0x28], eax
mov eax, dword [0x46514c]
mov dword [esp + 0x24], eax
mov eax, dword [0x465150]
mov dword [esp + 0x38], eax
mov eax, dword [0x465154]
mov dword [esp + 0x1c], eax
xor edx, edx
mov eax, edi
dec eax
dec eax
mov byte [esp + 0x12], 0
mov dword [esp + 0x18], edx
mov dword [0x465140], 1
mov dword [0x465144], edx
je 0x44b5b3
dec eax
je 0x44b58b
dec eax
je 0x44b52d
dec eax
je 0x44b4db
dec eax
jne 0x44b5fe
push 0x45b058
push dword [0x467fa8]
call 0x48a411
pop ecx
pop ecx
test eax, eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x16]
push eax
push dword [esp + 0x1ac]
mov ecx, ebx
je 0x44b4d1
call fcn.004516c0
jmp 0x44b5fc
call fcn.004518b2
jmp 0x44b5fc
mov eax, dword [0x467fa4]
cmp byte [eax], 0
je 0x44b586
push 0x45b054
push eax
call 0x486b32
mov edi, eax
test edi, edi
pop ecx
pop ecx
je 0x44b586
push dword [0x467fa8]
lea eax, [esp + 0x1c]
push edi
push eax
lea eax, [esp + 0x1e]
push eax
push dword [esp + 0x1b4]
mov ecx, ebx
call fcn.0045fd40
push edi
mov esi, eax
call 0x4869ba
pop ecx
jmp 0x44b5fe
lea eax, [esp + 0x33]
push eax
push dword [0x467fa0]
call fcn.00460346
mov edi, eax
test edi, edi
pop ecx
pop ecx
je 0x44b586
push dword [0x467fa4]
lea eax, [esp + 0x1c]
push edi
push dword [esp + 0x58]
mov ecx, ebx
push dword [esp + 0x54]
push dword [esp + 0x54]
push eax
lea eax, [esp + 0x2a]
push eax
push dword [esp + 0x1c0]
call fcn.0045ffe1
cmp byte [esp + 0x33], 0
mov esi, eax
je 0x44b5fe
push edi
call dword [0x458044]
jmp 0x44b5fe
xor esi, esi
inc esi
jmp 0x44b5fe
push dword [0x467fa0]
lea eax, [esp + 0x1c]
push dword [esp + 0x4c]
mov ecx, ebx
push dword [esp + 0x4c]
push eax
lea eax, [esp + 0x22]
push eax
push dword [esp + 0x1b8]
call fcn.00451aa9
jmp 0x44b5fc
cmp byte [ebx + 1], 0
jbe 0x44b5d7
push dword [0x467fa0]
call fcn.0044a67c
cmp byte [ebx], 8
pop ecx
jne 0x44b5d0
mov ecx, eax
or ecx, edx
je 0x44b5d9
mov byte [esp + 0x4c], 0
jmp 0x44b5de
xor eax, eax
mov byte [esp + 0x4c], 1
push dword [esp + 0x4c]
mov ecx, ebx
push edx
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x22]
push eax
push dword [esp + 0x1b8]
call fcn.00449e57
mov esi, eax
test esi, esi
mov eax, dword [esp + 0x78]
mov dword [0x465144], eax
mov eax, dword [esp + 0x28]
mov dword [0x465148], eax
mov eax, dword [esp + 0x24]
mov dword [0x46514c], eax
mov eax, dword [esp + 0x38]
mov dword [0x465150], eax
mov eax, dword [esp + 0x1c]
mov dword [0x465140], ebp
mov dword [0x465154], eax
je 0x44b2eb
cmp esi, 7
je 0x44b2eb
cmp esi, 8
je 0x44b2eb
cmp byte [esp + 0x12], 0
jne 0x44b1a0
cmp dword [esp + 0x1a0], 3
je 0x44e18b
mov eax, dword [esp + 0x18]
test eax, eax
je 0x44b199
mov ecx, dword [eax + 0x1c]
cmp ecx, dword [ebx + 0x1c]
jne 0x44e19a
mov ebx, eax
jmp 0x44b19c
sub eax, 0x6a
je 0x44e200
dec eax
je 0x44e080
dec eax
je 0x44e1de
sub eax, 0x21
je 0x44dfd2
sub eax, 0x48
je 0x44e1a9
add dword [0x466140], edi
mov esi, dword [0x467ff0]
adc dword [0x466144], edx
mov al, byte [ebx]
movzx ecx, al
dec ecx
cmp ecx, 0xd5
ja 0x44dfb5
jmp dword [ecx*4 + 0x405607]
xor esi, esi
test esi, esi
je 0x44b2eb
cmp dword [esp + 0x1a0], 3
je 0x44b2eb
jmp 0x44e078
mov eax, dword [esp + 0x60]
xor esi, esi
inc esi
add dword [0x466140], esi
push 0
pop ebp
adc dword [0x466144], ebp
mov edi, dword [eax + 0xc]
cmp edi, ebp
jne 0x44e006
push ebp
push dword [0x467fa0]
mov ecx, 0x465c88
call 0x4967c3
mov edi, eax
cmp edi, ebp
je 0x44e06a
mov eax, dword [0x467fa4]
cmp byte [eax], 0
je 0x44e025
push 0x459f50
push eax
call 0x48a411
test eax, eax
pop ecx
pop ecx
jne 0x44e025
mov al, 1
jmp 0x44e027
xor al, al
lea ecx, [esp + 0x34]
push ecx
push ebp
push eax
mov ecx, edi
call 0x496947
cmp dword [esp + 0x34], ebp
je 0x44e06a
push dword [esp + 0x34]
mov ecx, ebx
call fcn.0047002c
test eax, eax
je 0x44e1c9
mov ecx, dword [esp + 0x34]
call fcn.0044e55f
mov esi, eax
cmp esi, ebp
je 0x44b2eb
cmp esi, 8
je 0x44b2eb
cmp dword [esp + 0x1a0], 3
je 0x44e1d0
mov ebx, dword [ebx + 0x14]
jmp 0x44b19c
cmp dword [ebx + 0xc], edx
jne 0x44b199
mov ecx, dword [ebx + 0x14]
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x1a8]
push 2
call fcn.0044af38
mov ecx, dword [esp + 0x18]
cmp ecx, ebx
mov esi, eax
je 0x44b1a0
cmp dword [esp + 0x1a0], 3
je 0x44e109
test esi, esi
je 0x44b2eb
cmp esi, 7
je 0x44b2eb
cmp esi, 8
je 0x44b2eb
cmp esi, 5
je 0x44b2eb
cmp esi, 6
je 0x44b2eb
test ecx, ecx
je 0x44b199
mov eax, dword [ebx + 0x1c]
cmp eax, dword [ecx + 0x1c]
jne 0x44e107
mov ebx, ecx
jmp 0x44b19c
mov ecx, dword [esp + 0x18]
jmp 0x44e109
mov esi, edi
mov eax, dword [esp + 0x40]
mov dword [eax], ecx
jmp 0x44b2eb
mov eax, dword [0x4641d0]
cmp word [eax], dx
jne 0x44e13f
cmp dword [0x466edc], edx
jne 0x44e13f
cmp dword [0x465338], edx
jne 0x44e13f
cmp dword [0x46533c], edx
jne 0x44e13f
cmp byte [0x46534c], 0
je 0x44e1a9
push 8
pop eax
jmp 0x44b1ab
mov eax, dword [esp + 0x1a4]
cmp eax, edx
je 0x44e15a
mov ecx, dword [0x467fa0]
mov dword [eax], ecx
mov eax, dword [esp + 0x1a0]
dec eax
neg eax
sbb eax, eax
and eax, 6
inc eax
jmp 0x44b1ab
push dword [0x467fa4]
push ebp
push 0x45b020
jmp 0x44e1f4
push dword [0x467fa8]
push ebp
push 0x45afec
jmp 0x44e1f4
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x18]
mov dword [eax], ecx
jmp 0x44b1a8
mov ecx, dword [esp + 0x40]
mov dword [ecx], eax
jmp 0x44b1a8
push 5
jmp 0x44e141
push dword [0x467fa0]
call fcn.0044a5fa
pop ecx
push eax
push 0
push 9
mov ecx, 0x465c88
call fcn.0045dec3
jmp 0x44b1ab
xor eax, eax
jmp 0x44b1ab
cmp esi, 7
jne 0x44b2eb
jmp 0x44b1a8
cmp dword [esp + 0x1a0], 2
je 0x44b1d1
push ebp
push 0
push 0x45af98
mov ecx, ebx
call 0x49320c
jmp 0x44b1ab
push 6
jmp 0x44e141