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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x94
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebx]
push edi
xor edi, edi
xor eax, eax
mov dword [esp + 0x34], edi
mov dword [esp + 0x64], edi
mov dword [esp + 0x48], 0xffffffff
mov dword [esp + 0x50], edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x60], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x18], esi
cmp dword [ebx + 0x24], edi
jne 0x44b3d7
cmp byte [esi + 0x45], al
jne 0x44b3d7
mov eax, dword [ebp + 0xc]
push ebx
call fcn.0044aba0
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, edi
je 0x44b3d1
push edi
push edi
mov edi, eax
push 0x6d
mov edx, edi
mov eax, ebx
call fcn.004676b0
mov esi, eax
xor eax, eax
add esp, 0xc
cmp dword [edi + 0xc], eax
mov dword [esp + 0x7c], esi
setne al
mov dword [esp + 0x5c], eax
test esi, esi
jne 0x44afbc
mov ecx, dword [ebx]
test dword [ecx + 0x18], 0x80000
je 0x44afb2
mov eax, dword [edi]
lea edx, [esp + 0x54]
push edx
push eax
mov eax, dword [edi + 0x44]
add eax, 0x38
call fcn.00408620
add esp, 8
test eax, eax
je 0x44afac
cmp dword [eax + 8], esi
jne 0x44afbc
cmp dword [edi + 0x10], 0
jne 0x44afbc
mov dword [esp + 0x40], 0
jmp 0x44afc4
mov dword [esp + 0x40], 1
mov eax, edi
mov edi, ebx
call fcn.00446170
test eax, eax
jne 0x44b3d1
xor ecx, ecx
test esi, esi
setne cl
push ecx
mov ecx, dword [esp + 0x18]
call fcn.0044ac50
add esp, 4
test eax, eax
jne 0x44b3d1
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov esi, dword [edx + 0x44]
mov ecx, edi
call fcn.0045a740
mov ecx, dword [edi + 0x10]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
add eax, eax
mov edx, dword [ecx + eax*8]
mov eax, dword [edi]
push edx
push 0
push eax
push 9
mov eax, ebx
call fcn.00442720
add esp, 0x10
mov dword [esp + 0x30], eax
cmp eax, 1
je 0x44b3d1
mov esi, dword [ebx + 0x28]
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x38], esi
inc dword [ebx + 0x28]
mov eax, dword [edi + 8]
mov ecx, dword [ebx + 0x28]
xor edx, edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x54], edx
test eax, eax
je 0x44b062
inc ecx
mov dword [ebx + 0x28], ecx
mov eax, dword [eax + 0x14]
inc edx
test eax, eax
jne 0x44b052
mov dword [esp + 0x54], edx
cmp dword [esp + 0x5c], 0
je 0x44b07f
mov edx, dword [ebx + 0x1bc]
mov eax, dword [edi]
mov dword [esp + 0x78], ebx
mov dword [esp + 0x74], edx
mov dword [ebx + 0x1bc], eax
mov eax, dword [ebx + 8]
test eax, eax
je 0x44b08c
mov dword [esp + 0x10], eax
jmp 0x44b099
push ebx
call fcn.0045e7b0
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
je 0x44b3d1
cmp byte [ebx + 0x12], 0
jne 0x44b0ae
or dword [eax + 0x90], 0x10
mov ecx, dword [esp + 0x1c]
push 1
mov eax, ebx
call fcn.004494b0
add esp, 4
cmp dword [esp + 0x5c], 0
je 0x44b0dc
mov ecx, dword [ebp + 0x10]
push esi
push ecx
push edi
push ebx
call fcn.0044ace0
add esp, 0x10
mov dword [esp + 0x64], esi
mov dword [esp + 0x34], esi
mov edx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
xor eax, eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
lea esi, [esp + 0x80]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], edx
call fcn.00436890
test eax, eax
jne 0x44b3d1
mov eax, dword [esp + 0x18]
test byte [eax + 0x18], 0x80
je 0x44b165
inc dword [ebx + 0x2c]
mov ebx, dword [ebx + 0x2c]
mov eax, dword [esp + 0x10]
mov edi, ebx
mov dword [esp + 0x48], ebx
xor ebx, ebx
lea edx, [ebx + 0x4c]
call fcn.00423e50
mov ebx, dword [ebp + 8]
cmp dword [esp + 0x30], 0
mov eax, dword [esp + 0x14]
mov ecx, 1
jne 0x44b1f4
cmp dword [ebp + 0x10], 0
jne 0x44b1f4
cmp dword [esp + 0x40], 0
jne 0x44b1f4
test byte [eax + 0x2c], 0x10
jne 0x44b1f4
mov edx, dword [eax]
mov eax, dword [eax + 0x1c]
mov ebx, dword [esp + 0x1c]
push edx
push ecx
push eax
mov eax, dword [ebp + 8]
call fcn.004427b0
mov esi, dword [esp + 0x20]
add esp, 0xc
test byte [esi + 0x2c], 0x20
jne 0x44b1c8
mov ecx, dword [esi]
mov eax, dword [esp + 0x48]
mov edx, dword [esi + 0x1c]
mov edi, dword [esp + 0x10]
push 0xfffffffffffffffe
push ecx
push 0x82
mov ecx, ebx
call fcn.004240f0
add esp, 0xc
mov esi, dword [esi + 8]
test esi, esi
je 0x44b7b3
mov edi, dword [esp + 0x1c]
mov ebx, dword [esi + 0x2c]
mov eax, dword [esp + 0x10]
mov edx, 0x82
call fcn.00423e50
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x44b1d3
jmp 0x44b7b3
test byte [esp + 0x9c], 0x40
je 0x44b202
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0x40]
neg edx
sbb edx, edx
and edx, 0xfffffff8
add edx, 8
mov esi, 0x414
or dx, si
test byte [eax + 0x2c], 0x20
movzx edx, dx
mov dword [esp + 0x30], edx
jne 0x44b24d
add dword [ebx + 0x2c], ecx
mov edi, dword [ebx + 0x2c]
mov esi, dword [esp + 0x10]
xor ebx, ebx
lea edx, [ebx + 0x4f]
mov eax, esi
mov dword [esp + 0x24], 0
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x58], edi
call fcn.00423e50
jmp 0x44b2a1
call fcn.00443e30
mov esi, eax
movzx ecx, word [esi + 0x32]
mov eax, dword [ebx + 0x2c]
lea edx, [eax + 1]
movsx edi, cx
add eax, edi
mov dword [ebx + 0x2c], eax
mov eax, dword [ebx + 0x28]
mov dword [esp + 0x1c], ecx
lea ecx, [eax + 1]
mov dword [ebx + 0x28], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x3c], eax
mov ebx, eax
mov eax, dword [esp + 0x10]
mov edx, 0x6b
mov dword [esp + 0x24], esi
call fcn.00423e50
mov dword [esp + 0x70], eax
mov eax, dword [ebp + 8]
mov ecx, esi
call fcn.00424b50
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
mov ecx, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
inc edx
push edx
mov edx, dword [ebp + 0xc]
push eax
push 0
push 0
push ecx
push edx
push edi
call fcn.00476ee0
add esp, 0x1c
mov dword [esp + 0x30], eax
test eax, eax
je 0x44b3d1
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x18]
movzx eax, byte [eax + 0x2d]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x18]
test byte [ecx + 0x18], 0x80
mov dword [esp + 0x6c], edx
mov dword [esp + 0x2c], eax
je 0x44b306
mov ebx, dword [esp + 0x48]
mov edi, 1
lea edx, [edi + 0x5a]
mov eax, esi
call fcn.00423e50
mov edi, dword [ebp + 8]
cmp dword [esp + 0x24], 0
je 0x44b35c
movsx eax, word [esp + 0x1c]
xor edi, edi
test eax, eax
jle 0x44b352
jmp 0x44b320
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x24]
lea eax, [edi + edx]
mov edx, dword [ecx + 4]
mov ecx, dword [esp + 0x28]
push eax
movsx eax, word [edx + edi*2]
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
mov ebx, esi
call fcn.0043c0c0
movsx eax, word [esp + 0x2c]
inc edi
add esp, 0x10
cmp edi, eax
jl 0x44b320
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x20], eax
jmp 0x44b390
mov eax, dword [edi + 0x2c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
push 0
inc eax
push eax
push ecx
push 0xffffffffffffffff
push edx
mov esi, edi
call fcn.0043c1a0
mov ecx, dword [ebp + 8]
mov esi, dword [esp + 0x24]
add esp, 0x14
mov dword [esp + 0x20], eax
cmp eax, dword [ecx + 0x2c]
jle 0x44b390
mov edx, eax
mov eax, ecx
mov dword [eax + 0x2c], edx
cmp dword [esp + 0x2c], 0
je 0x44b489
mov ebx, dword [esp + 0x54]
movzx ecx, word [esp + 0x1c]
lea eax, [ebx + 2]
cdq
push edx
push eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x4c], ecx
call fcn.00404490
mov edi, eax
add esp, 8
mov dword [esp + 0x50], edi
test edi, edi
jne 0x44b436
mov edx, dword [esp + 0x30]
push edx
call fcn.004779c0
add esp, 4
mov esi, dword [esp + 0x18]
xor edi, edi
mov eax, dword [esp + 0x78]
cmp eax, edi
je 0x44b3e9
mov ecx, dword [esp + 0x74]
mov dword [eax + 0x1bc], ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, esi
call fcn.00448b90
mov eax, dword [ebp + 0x10]
add esp, 4
cmp eax, edi
je 0x44b408
push eax
push esi
call fcn.00437ea0
add esp, 8
mov eax, dword [esp + 0x50]
cmp eax, edi
je 0x44b860
cmp esi, edi
je 0x44b857
cmp dword [esi + 0x1c8], edi
je 0x44b82c
mov ecx, esi
call fcn.00404160
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [ebx + 1]
push eax
push 1
push edi
call fcn.004a6b70
add esp, 0xc
cmp dword [esp + 0x68], 0
mov byte [ebx + edi + 1], 0
jl 0x44b45d
mov eax, dword [esp + 0x68]
sub eax, dword [esp + 0x28]
mov byte [eax + edi], 0
mov eax, dword [esp + 0x6c]
test eax, eax
js 0x44b46d
sub eax, dword [esp + 0x28]
mov byte [eax + edi], 0
mov eax, dword [esp + 0x70]
test eax, eax
je 0x44b47c
mov edx, esi
call fcn.00424970
mov eax, esi
call fcn.00424320
mov dword [esp + 0x60], eax
jmp 0x44b504
cmp dword [esp + 0x24], 0
je 0x44b55d
movsx edi, word [esp + 0x1c]
mov eax, dword [ebp + 8]
inc dword [eax + 0x2c]
mov ebx, dword [eax + 0x2c]
mov esi, dword [esp + 0x24]
push edi
push ecx
mov ecx, eax
mov eax, dword [ecx]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x4c], 0
call fcn.00451b10
mov esi, dword [esp + 0x54]
add esp, 4
push eax
mov ecx, edi
mov edi, dword [esp + 0x18]
push 0x63
mov eax, ebx
mov edx, esi
call fcn.004240f0
movsx eax, word [esp + 0x28]
mov edx, dword [esp + 0x48]
add esp, 0xc
push eax
mov eax, esi
push 0x7d
mov ecx, ebx
mov esi, edi
call fcn.00424270
add esp, 8
mov edx, dword [esp + 0x30]
push edx
call fcn.004779c0
mov edi, dword [esp + 0x54]
add esp, 4
cmp dword [esp + 0x5c], 0
jne 0x44b57e
xor ebx, ebx
cmp dword [esp + 0x2c], 2
jne 0x44b522
mov ebx, 0x14
mov eax, esi
call fcn.00423d90
mov ebx, eax
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x64]
push eax
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [ebp + 8]
push edi
push edx
push 8
push 0x69
push eax
push ecx
call fcn.00454b70
add esp, 0x20
cmp dword [esp + 0x2c], 2
jne 0x44b57e
mov eax, ebx
mov edx, esi
call fcn.00424660
mov ebx, dword [esp + 0x14]
jmp 0x44b589
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x58]
mov edx, 0x8d
mov eax, esi
mov dword [esp + 0x44], 1
call fcn.00423e50
jmp 0x44b4f3
cmp dword [esp + 0x2c], 0
mov ebx, dword [esp + 0x14]
je 0x44b5bf
test byte [ebx + 0x2c], 0x10
jne 0x44b619
sub edi, dword [esp + 0x28]
mov edx, dword [esp + 0x34]
cmp byte [edi + edx], 0
je 0x44b60f
movsx eax, word [esp + 0x44]
mov ecx, dword [esp + 0x60]
push eax
mov eax, dword [esp + 0x24]
push 0x1e
call fcn.00424270
mov esi, dword [esp + 0x18]
add esp, 8
jmp 0x44b60f
cmp dword [esp + 0x24], 0
je 0x44b5f4
mov edi, dword [esp + 0x3c]
mov ebx, 0x39
mov eax, esi
call fcn.00423df0
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x38], eax
mov edx, 0x79
mov eax, esi
call fcn.00423e50
mov ebx, dword [esp + 0x14]
jmp 0x44b60f
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x58]
push ecx
push 0
push edx
push 0x3e
push esi
call fcn.00423d20
add esp, 0x14
mov dword [esp + 0x38], eax
test byte [ebx + 0x2c], 0x10
je 0x44b70f
mov edi, dword [ebx + 0x3c]
test edi, edi
je 0x44b62f
mov eax, dword [edi]
cmp eax, dword [esp + 0x18]
je 0x44b62f
mov edi, dword [edi + 0x18]
test edi, edi
jne 0x44b620
mov eax, dword [ebp + 8]
push ebx
call fcn.0046c540
mov ecx, dword [esi + 0x88]
mov edx, dword [esi + 0xc]
add esp, 4
cmp dword [edx + 0x30], ecx
jg 0x44b662
mov eax, dword [esp + 0x20]
push eax
push 1
push 0
push 0xc
call fcn.00423ce0
mov esi, dword [esp + 0x20]
add esp, 0x10
jmp 0x44b695
mov ebx, dword [esp + 0x20]
lea edx, [ecx + 1]
mov dword [esi + 0x88], edx
mov edx, dword [esi + 0x58]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
xor edx, edx
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 8], 1
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], edx
mov word [eax], 0xc
mov eax, ecx
mov ecx, dword [esi]
cmp byte [ecx + 0x45], 0
mov ebx, dword [ebp + 8]
jne 0x44b6da
test eax, eax
jns 0x44b6ab
mov eax, dword [esi + 0x88]
dec eax
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x58]
cmp byte [eax + edx*4 + 1], 0
lea ecx, [eax + edx*4]
je 0x44b6cc
push edi
push esi
mov eax, 0xfffffff8
call fcn.004249b0
add esp, 8
jmp 0x44b6da
test edi, edi
je 0x44b6da
mov dword [ecx + 0x10], edi
mov byte [ecx + 1], 0xf8
inc dword [edi + 0xc]
mov eax, dword [esi + 0x88]
test eax, eax
jle 0x44b6ef
mov edx, dword [esi + 0x58]
lea ecx, [eax + eax*4]
mov byte [edx + ecx*4 - 0x11], 2
mov eax, dword [ebx + 0x7c]
test eax, eax
jne 0x44b6f8
mov eax, ebx
cmp dword [esp + 0x2c], 1
mov byte [eax + 0x15], 1
jne 0x44b762
cmp dword [ebx + 0x7c], 0
jne 0x44b769
mov byte [ebx + 0x14], 0
jmp 0x44b769
mov eax, dword [ebp + 8]
xor ecx, ecx
cmp byte [eax + 0x12], cl
sete cl
or eax, 0xffffffff
cmp dword [esp + 0x40], 0
jne 0x44b730
mov edx, dword [esp + 0x6c]
cmp edx, dword [esp + 0x34]
je 0x44b730
mov eax, edx
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x6c]
push 0xa
push ecx
mov ecx, dword [esp + 0x54]
push ecx
mov ecx, dword [esp + 0x48]
push edx
mov edx, dword [esp + 0x94]
push eax
mov eax, dword [ebp + 8]
push ecx
push edx
push ebx
push eax
call fcn.0044b870
add esp, 0x2c
cmp dword [esp + 0x2c], 0
je 0x44b783
mov edx, dword [esp + 0x60]
mov ecx, esi
call fcn.00424370
mov ecx, dword [esp + 0x30]
push ecx
call fcn.004779c0
add esp, 4
jmp 0x44b7b3
cmp dword [esp + 0x24], 0
mov edi, dword [esp + 0x38]
mov eax, esi
je 0x44b7a5
mov ebx, dword [esp + 0x3c]
inc edi
mov edx, 7
call fcn.00423e50
mov eax, dword [esp + 0x38]
jmp 0x44b7ac
call fcn.00423eb0
mov eax, edi
mov edx, esi
call fcn.00424660
mov esi, dword [ebp + 8]
cmp byte [esi + 0x12], 0
jne 0x44b7d0
cmp dword [esi + 0x80], 0
jne 0x44b7d0
cmp dword [esi + 0x78], 0
je 0x44b7d0
call fcn.00452030
mov edx, dword [esp + 0x18]
test byte [edx + 0x18], 0x80
je 0x44b825
cmp byte [esi + 0x12], 0
jne 0x44b825
cmp dword [esi + 0x80], 0
jne 0x44b825
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x48]
mov edi, 1
lea edx, [edi + 0x56]
mov eax, esi
call fcn.00423e50
push edi
mov eax, esi
call fcn.00425bc0
add esp, 4
push 0
push 0x4b6f74
push 0
push 0
mov ecx, esi
call fcn.00425c80
add esp, 0x10
jmp 0x44b3d1
mov esi, edx
jmp 0x44b3d5
cmp eax, dword [esi + 0x120]
jb 0x44b857
cmp eax, dword [esi + 0x124]
jae 0x44b857
mov ecx, dword [esi + 0x11c]
mov dword [eax], ecx
dec dword [esi + 0x108]
mov dword [esi + 0x11c], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push eax
call fcn.004040f0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret