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

Disassembly:
sub esp, 0x4f4
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x14], ecx
call fcn.0043c634
xor ecx, ecx
lea edx, [esp + 0x13]
cmp al, 2
sete cl
xor ebx, ebx
push ebx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x18]
push 1
call fcn.00444622
test al, al
je 0x44f122
mov al, byte [esp + 0x13]
test al, al
je 0x44f122
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x280]
push ebx
movzx eax, al
push eax
call fcn.00444622
test al, al
je 0x44f122
movzx eax, byte [esp + 0x13]
jmp 0x44eee3
dec eax
cmp byte [esp + eax + 0x280], bl
je 0x44ef27
test eax, eax
jne 0x44eed9
mov ecx, ebx
push 5
pop eax
push ebx
test ecx, ecx
mov esi, 0xff05
push 2
cmove eax, esi
movzx eax, ax
pop edi
mov dword [esp + 0x24], eax
lea eax, [esp + 0x24]
push edi
push eax
push dword [esp + 0x20]
call dword [0x467508]
cmp eax, edi
jne 0x44f122
cmp word [esp + 0x20], si
jne 0x44ef32
mov al, 1
jmp 0x44f124
lea ecx, [esp + 0x280]
add ecx, eax
jmp 0x44eee9
xor ecx, ecx
mov byte [esp + 0x1c], bl
push ecx
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x50]
push 4
pop eax
push eax
call fcn.00444622
test al, al
je 0x44f122
cmp byte [esp + 0x4c], 5
jne 0x44f122
test byte [esp + 0x2c], 1
push 0x17
pop ebp
je 0x44ef71
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], edi
jmp 0x44ef79
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], ebp
movzx eax, byte [esp + 0x4f]
xor ecx, ecx
mov edi, dword [0x46751c]
mov esi, ecx
mov dword [esp + 0x34], esi
push 0x10
pop edx
dec eax
je 0x44f0bd
dec eax
dec eax
je 0x44efe8
dec eax
jne 0x44f122
push ecx
mov ecx, dword [esp + 0x18]
push edx
lea edx, [esp + 0xf0]
call fcn.00444622
test al, al
je 0x44f122
push 0x1c
pop ecx
call fcn.004430da
mov esi, eax
mov dword [esp + 0x34], esi
test esi, esi
je 0x44f0e5
push 0x10
pop eax
push eax
lea eax, [esp + 0xec]
mov word [esi], bp
push eax
lea eax, [esi + 8]
jmp 0x44f0fd
push ecx
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x17]
push 1
call fcn.00444622
test al, al
je 0x44f122
mov al, byte [esp + 0x13]
test al, al
je 0x44f122
xor ecx, ecx
movzx eax, al
push ecx
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x404]
push eax
call fcn.00444622
test al, al
je 0x44f122
movzx eax, byte [esp + 0x13]
xor ecx, ecx
mov dword [esp + 0x48], ecx
mov byte [esp + eax + 0x400], cl
lea eax, [esp + 0x48]
push eax
push ecx
push ecx
lea eax, [esp + 0x40c]
push eax
call dword [0x4674ec]
test eax, eax
je 0x44f05d
mov bl, 4
jmp 0x44f0e7
xor ecx, ecx
mov dl, cl
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x44f07c
movzx eax, dl
mov eax, dword [esp + eax*4 + 0x54]
cmp dword [ecx + 4], eax
je 0x44f095
mov ecx, dword [ecx + 0x1c]
test ecx, ecx
jne 0x44f070
inc dl
cmp dl, 2
jb 0x44f061
mov bl, 4
mov byte [esp + 0x1c], bl
push dword [esp + 0x48]
call dword [0x4674f8]
jmp 0x44f103
mov edx, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x18]
call fcn.004431a7
mov esi, eax
mov dword [esp + 0x34], esi
test esi, esi
jne 0x44f0ae
mov bl, 1
jmp 0x44f085
cmp word [esi], bp
jne 0x44f089
xor eax, eax
mov dword [esi + 0x18], eax
mov dword [esi + 4], eax
jmp 0x44f089
push ecx
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x64]
push 4
call fcn.00444622
test al, al
je 0x44f122
push 0x10
pop eax
mov ecx, eax
call fcn.004430da
mov esi, eax
mov dword [esp + 0x34], esi
test esi, esi
jne 0x44f0ed
mov bl, 1
mov byte [esp + 0x1c], bl
jmp 0x44f103
push 2
pop eax
mov word [esi], ax
lea eax, [esp + 0x60]
push 4
push eax
lea eax, [esi + 4]
push eax
call edi
add esp, 0xc
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x50]
xor eax, eax
push eax
push 2
pop eax
push eax
call fcn.00444622
test al, al
jne 0x44f12f
mov ecx, esi
call fcn.00443193
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4f4
ret
mov bh, 1
test bl, bl
jne 0x44f825
mov ax, word [esp + 0x50]
mov word [esi + 2], ax
movzx eax, byte [esp + 0x4d]
dec eax
je 0x44f7cc
dec eax
je 0x44f705
dec eax
je 0x44f160
add bl, 7
jmp 0x44f7dc
mov eax, 0x80
mov dword [esp + 0x5c], eax
mov dword [esp + 0x64], eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x6c]
push eax
push dword [esp + 0x1c]
call dword [0x4674cc]
test eax, eax
jne 0x44f6fe
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x384]
push eax
push dword [esp + 0x1c]
call dword [0x467480]
test eax, eax
jne 0x44f6fe
mov word [esp + 0x6a], ax
cmp word [esp + 0x68], bp
jne 0x44f1bf
mov dword [esp + 0x80], eax
mov dword [esp + 0x6c], eax
lea ecx, [esp + 0x68]
call fcn.004449b8
mov dword [esp + 0x38], eax
cmp eax, 0xffffffff
je 0x44f6fe
mov ecx, 0xffff
call fcn.004430da
mov edi, eax
test edi, edi
jne 0x44f1f0
mov bl, 1
mov byte [esp + 0x1c], bl
jmp 0x44f6f5
push dword [esp + 0x2c]
mov edx, dword [esp + 0x3c]
xor eax, eax
mov ecx, dword [esp + 0x18]
push eax
call fcn.0044ed33
cmp eax, 1
jne 0x44f6dd
or dword [esp + 0x28], 0xffffffff
xor ecx, ecx
or dword [esp + 0x104], 0xffffffff
push 2
pop eax
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x14]
push ecx
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x3c]
push ecx
mov dword [esp + 0x108], eax
lea eax, [esp + 0x100]
push ecx
push eax
push ecx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x34], ecx
call dword [0x4674a0]
test eax, eax
jle 0x44f6d2
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0xf8]
call fcn.00444604
test al, al
je 0x44f292
xor eax, eax
push eax
push 0xffff
push edi
push ecx
call dword [0x4674f0]
test eax, eax
jle 0x44f6ce
lea edx, [esp + 0xf8]
mov dword [esp + 0x24], 0x80
mov ecx, esi
call fcn.00444604
test al, al
je 0x44f467
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x6c]
push eax
xor eax, eax
push eax
push 0xffff
push edi
push esi
call dword [0x4674bc]
mov dword [esp + 0x40], eax
test eax, eax
jle 0x44f6ce
cmp eax, 6
jb 0x44f467
mov cx, word [esp + 0x68]
cmp word [esp + 0x380], cx
jne 0x44f467
push 2
pop eax
cmp cx, ax
jne 0x44f307
mov eax, dword [esp + 0x384]
cmp eax, dword [esp + 0x6c]
jmp 0x44f328
cmp cx, bp
jne 0x44f32e
push 0x10
pop eax
push eax
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x390]
push eax
call dword [0x467524]
add esp, 0xc
test eax, eax
jne 0x44f467
cmp byte [edi + 2], 0
jne 0x44f467
xor eax, eax
cmp word [edi], ax
jne 0x44f467
cmp dword [esp + 0x20], eax
jne 0x44f387
push dword [esp + 0x24]
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x208]
push eax
call dword [0x46751c]
add esp, 0xc
cmp word [esp + 0x200], bp
jne 0x44f37d
xor eax, eax
mov dword [esp + 0x218], eax
mov dword [esp + 0x204], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x20], eax
xor eax, eax
push 0x80
push eax
lea eax, [esp + 0x70]
push eax
call dword [0x467520]
movzx eax, byte [edi + 3]
add esp, 0xc
dec eax
je 0x44f53d
push 2
pop ecx
sub eax, ecx
je 0x44f3e9
dec eax
jne 0x44f467
cmp dword [esp + 0x40], 0x16
jle 0x44f467
push 0x10
pop eax
push eax
lea eax, [edi + 4]
mov dword [esp + 0x28], 0x1c
push eax
lea eax, [esp + 0x78]
mov word [esp + 0x70], bp
push eax
call dword [0x46751c]
add esp, 0xc
push 0x14
jmp 0x44f56f
mov al, byte [edi + 4]
test al, al
je 0x44f467
movzx ebp, al
lea eax, [ebp + 7]
cmp dword [esp + 0x40], eax
jle 0x44f467
push ebp
lea eax, [edi + 5]
push eax
lea eax, [esp + 0x288]
push eax
call dword [0x46751c]
add esp, 0xc
lea eax, [esp + 0x3c]
xor ecx, ecx
mov byte [esp + ebp + 0x280], cl
add ebp, 5
mov dword [esp + 0x30], ebp
push eax
push ecx
push ecx
lea eax, [esp + 0x28c]
mov dword [esp + 0x48], ecx
push eax
call dword [0x4674ec]
test eax, eax
jne 0x44f467
mov dl, al
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x44f460
movzx eax, dl
mov eax, dword [esp + eax*4 + 0x54]
cmp dword [ecx + 4], eax
je 0x44f4fd
mov ecx, dword [ecx + 0x1c]
test ecx, ecx
jne 0x44f450
inc dl
cmp dl, 2
jb 0x44f441
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
cmp eax, 0xffffffff
je 0x44f67e
lea edx, [esp + 0xf8]
mov ecx, eax
call fcn.00444604
test al, al
je 0x44f67e
mov ecx, dword [esp + 0x44]
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x6c]
push eax
xor eax, eax
push eax
mov eax, 0xffff
sub eax, ecx
push eax
lea eax, [ecx + edi]
push eax
push dword [esp + 0x3c]
call dword [0x4674bc]
mov dword [esp + 0x30], eax
test eax, eax
jg 0x44f4ca
movzx ecx, word [esp + 0x68]
cmp ebp, ecx
jne 0x44f67e
xor eax, eax
push 0x17
pop ebp
mov word [edi], ax
mov byte [edi + 2], al
inc eax
cmp word [esp + 0x68], bp
push 4
pop edx
cmove eax, edx
mov byte [edi + 3], al
mov eax, dword [esp + 0x18]
cmp eax, ebp
jne 0x44f626
push 0x10
pop eax
push eax
lea eax, [esp + 0x74]
jmp 0x44f632
mov eax, dword [ecx + 0x10]
push eax
mov dword [esp + 0x28], eax
lea eax, [esp + 0x6c]
push dword [ecx + 0x18]
push eax
call dword [0x46751c]
add esp, 0xc
push 0x17
pop ebp
cmp word [esp + 0x68], bp
jne 0x44f52d
xor eax, eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x6c], eax
push dword [esp + 0x3c]
call dword [0x4674f8]
mov ecx, dword [esp + 0x30]
jmp 0x44f570
cmp dword [esp + 0x40], 0xa
jle 0x44f467
push 0x10
pop eax
push 2
mov dword [esp + 0x28], eax
pop eax
push 4
mov word [esp + 0x6c], ax
pop eax
push eax
lea eax, [edi + 4]
push eax
lea eax, [esp + 0x74]
push eax
call dword [0x46751c]
add esp, 0xc
push 8
pop ecx
mov ax, word [ecx + edi]
push 2
mov word [esp + 0x6e], ax
pop eax
add ecx, eax
cmp dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x30], ecx
jne 0x44f5e7
xor eax, eax
push 0x80
push eax
lea eax, [esp + 0x288]
push eax
call dword [0x467520]
mov ax, word [esp + 0x74]
lea ecx, [esp + 0x28c]
add esp, 0xc
mov word [esp + 0x280], ax
movzx eax, ax
mov dword [esp + 0x18], eax
call fcn.004449b8
mov dword [esp + 0x28], eax
cmp eax, 0xffffffff
je 0x44f6ce
cmp dword [esp + 0x18], ebp
push 4
pop eax
push 0x10
pop ecx
cmove eax, ecx
mov ecx, dword [esp + 0x30]
add eax, 6
mov dword [esp + 0x44], eax
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x18]
cmp edx, ecx
jle 0x44f46b
movzx eax, word [esp + 0x68]
cmp ebp, eax
jne 0x44f46b
push dword [esp + 0x24]
lea eax, [esp + 0x6c]
sub edx, ecx
push eax
xor eax, eax
push eax
push edx
lea eax, [ecx + edi]
push eax
push dword [esp + 0x3c]
call dword [0x4674d8]
jmp 0x44f46b
push 2
pop ecx
cmp eax, ecx
jne 0x44f681
push edx
lea eax, [esp + 0x70]
push eax
lea eax, [edi + 4]
push eax
call dword [0x46751c]
add esp, 0xc
push 2
pop eax
push eax
lea eax, [esp + 0x6e]
push eax
mov eax, dword [esp + 0x4c]
add eax, 0xfffffffe
add eax, edi
push eax
call dword [0x46751c]
add esp, 0xc
lea eax, [esp + 0x200]
push dword [esp + 0x20]
push eax
xor eax, eax
push eax
mov eax, dword [esp + 0x3c]
add eax, dword [esp + 0x50]
push eax
push edi
push esi
call dword [0x4674d8]
jmp 0x44f681
push 0x17
pop ebp
mov ecx, dword [esp + 0x28]
xor eax, eax
push 2
pop edx
cmp ecx, 0xffffffff
mov dword [esp + 0x104], ecx
mov dword [esp + 0x100], esi
setne al
xor ecx, ecx
add eax, edx
push ecx
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x18]
push ecx
mov dword [esp + 0x104], eax
lea eax, [esp + 0x100]
push ecx
push eax
push ecx
call dword [0x4674a0]
test eax, eax
jg 0x44f266
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
call fcn.0044499e
jmp 0x44f6ee
cmp eax, 0xffffffff
jne 0x44f6ea
mov bl, 1
mov byte [esp + 0x1c], bl
jmp 0x44f6ee
xor eax, eax
mov bh, al
mov ecx, edi
call fcn.00443193
mov ecx, dword [esp + 0x38]
jmp 0x44f820
mov bl, 1
jmp 0x44f7dc
xor eax, eax
mov word [esi + 2], ax
cmp word [esi], bp
jne 0x44f726
push 0x10
pop eax
push eax
xor eax, eax
push eax
lea eax, [esi + 8]
push eax
call dword [0x467520]
add esp, 0xc
jmp 0x44f72b
xor eax, eax
mov dword [esi + 4], eax
mov ecx, esi
call fcn.004447be
mov dword [esp + 0x20], eax
cmp eax, 0xffffffff
je 0x44f7da
push dword [esp + 0x2c]
xor ecx, ecx
mov edx, eax
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.0044ed33
mov edi, eax
cmp edi, 1
jne 0x44f7af
push ecx
lea eax, [esp + 0x18]
push eax
sub esp, 0xc
lea ecx, [esp + 0x34]
call fcn.00444973
mov ecx, dword [esp + 0x20]
mov ebp, eax
call fcn.0044499e
cmp ebp, 0xffffffff
je 0x44f6fe
mov ecx, ebp
call fcn.0043cc6e
mov eax, dword [esp + 0x2c]
mov edx, ebp
push 2
pop ecx
or eax, ecx
mov ecx, dword [esp + 0x14]
push eax
xor eax, eax
push eax
call fcn.0044ed33
mov edi, eax
cmp edi, 1
jne 0x44f7ab
mov ecx, dword [esp + 0x14]
mov edx, ebp
call fcn.0044481c
mov ecx, ebp
jmp 0x44f7b3
mov ecx, dword [esp + 0x20]
call fcn.0044499e
cmp edi, 0xffffffff
je 0x44f6fe
cmp edi, 1
je 0x44f825
xor eax, eax
mov bh, al
jmp 0x44f825
mov ecx, esi
call fcn.004446d3
mov edi, eax
cmp edi, 0xffffffff
jne 0x44f7e2
mov bl, 5
mov byte [esp + 0x1c], bl
jmp 0x44f825
mov ecx, edi
call fcn.0043cc6e
push dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
xor eax, eax
push eax
mov edx, edi
call fcn.0044ed33
cmp eax, 1
jne 0x44f80d
mov ecx, dword [esp + 0x14]
mov edx, edi
call fcn.0044481c
jmp 0x44f81e
cmp eax, 0xffffffff
jne 0x44f81a
mov bl, 1
mov byte [esp + 0x1c], bl
jmp 0x44f81e
xor eax, eax
mov bh, al
mov ecx, edi
call fcn.0044499e
mov ecx, esi
call fcn.00443193
cmp bh, 1
jne 0x44f84e
test bl, bl
je 0x44f84e
push dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
or edx, 0xffffffff
push dword [esp + 0x20]
call fcn.0044ed33
test eax, eax
setne bh
mov al, bh
jmp 0x44f124