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

Disassembly:
push ecx
push esi
push edi
push ebp
sub esp, 0x80
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], ebx
test ebx, ebx
je 0x44a8b1
test eax, eax
je 0x44a8b1
mov ebx, dword [eax + 0x18]
test ebx, ebx
jne 0x44a8be
xor al, al
add esp, 0x80
pop ebp
pop edi
pop esi
pop ecx
ret
mov eax, ebx
call fcn.0044a6e0
mov ebp, eax
test eax, eax
je 0x44a8b1
mov eax, 0x191
call fcn.0044bd20
mov dword [esp + 0x6c], eax
mov eax, 0x194
call fcn.0044bd20
mov dword [esp + 0x64], eax
mov eax, 0x193
call fcn.0044bd20
mov dword [esp + 0x60], eax
mov eax, 0x192
call fcn.0044bd20
mov dword [esp + 0x68], eax
xor al, al
mov byte [esp + 0x7c], al
mov byte [esp + 0x50], al
cmp dword [esp + 0x70], 0
jle 0x44aaf8
mov eax, 0xffffffff
mov dword [esp + 0x54], eax
test dl, dl
je 0x44ab02
xor ebx, ebx
mov dword [esp + 0x1c], ebx
mov eax, dword [esp + 0x1c]
mov edx, 0xffff81f5
xor ebx, ebx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x74]
call fcn.00445810
mov eax, 0x477024
call fcn.00449bf0
xor edx, edx
mov eax, dword [esp + 0x74]
mov byte [0x47a248], 1
call fcn.004455c0
mov byte [esp + 0x78], al
cmp dword [esp + 0x1c], 0
jl 0x44ab7a
mov edi, 0xffffffff
mov byte [esp + 0x20], 0
mov dword [esp + 0x34], edi
mov dword [esp + 0x44], edi
movzx ebx, byte [esp + 0x20]
mov ecx, esp
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x74]
call fcn.00445610
test al, al
jne 0x44ac4c
cmp byte [esp + 0x20], 0
je 0x44ac0c
cmp dword [esp + 0x70], 0
jl 0x44acf2
cmp dword [esp + 0x34], 0xffffffff
je 0x44ad8e
mov eax, dword [esp + 0x74]
mov byte [0x47a248], 0
call fcn.00445410
mov eax, dword [esp + 0x74]
call fcn.004476c0
mov eax, dword [esp + 0x74]
call fcn.00446da0
mov eax, dword [esp + 0x74]
call fcn.00447280
mov eax, dword [esp + 0x74]
cmp dword [eax + 0x74], 0xffff81f5
sete al
movzx eax, al
cmp eax, dword [esp + 0x1c]
jle 0x44ad03
mov eax, dword [esp + 0x74]
mov eax, dword [eax + 0x74]
test eax, eax
je 0x44ad2b
mov eax, dword [esp + 0x74]
or byte [eax + 0x63], 4
mov eax, dword [eax + 0x40]
cdq
sub eax, edx
sar eax, 1
mov esi, dword [esp + 0x1c]
cmp eax, esi
jge 0x44ad19
mov edx, esi
sub edx, eax
mov eax, dword [esp + 0x74]
call fcn.004461b0
mov edi, dword [esp + 0x1c]
cmp edi, 0xffff81f5
jne 0x44ad7d
mov eax, edi
mov edx, dword [esp + 0x74]
mov dword [edx + 0x1c], eax
mov al, byte [esp + 0x30]
mov edi, edx
mov byte [edx + 0x20], al
mov eax, dword [esp + 0x34]
mov esi, edx
mov dword [edx + 0x24], eax
mov eax, dword [esp + 0x38]
lea edi, [edi + 0x28]
lea esi, [esi + 0x1c]
dec eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [edx + 0x30], eax
mov edi, edx
mov dword [edx + 0x3c], eax
mov esi, edx
lea edi, [edi + 0x34]
lea esi, [esi + 0x1c]
mov eax, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00447740
mov eax, edx
call fcn.00447600
mov eax, edx
call fcn.004476c0
mov eax, ebp
call fcn.004219d0
cmp byte [esp + 0x7c], 0
je 0x44aab7
mov eax, dword [esp + 0x68]
call fcn.00449bf0
mov bl, 1
movzx edx, byte [esp + 0x78]
mov eax, dword [esp + 0x74]
call fcn.004455c0
mov eax, dword [esp + 0x6c]
call fcn.004219d0
mov eax, dword [esp + 0x64]
call fcn.004219d0
mov eax, dword [esp + 0x60]
call fcn.004219d0
mov eax, dword [esp + 0x68]
call fcn.004219d0
mov al, bl
add esp, 0x80
pop ebp
pop edi
pop esi
pop ecx
ret
mov eax, 0x7fff
jmp 0x44a91d
mov eax, dword [esp + 0x74]
call fcn.00447270
test al, al
je 0x44ab4c
mov eax, dword [esp + 0x74]
mov esi, dword [eax + 0x34]
cmp esi, 0xffff81f5
jne 0x44ab3f
mov eax, esi
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x74]
mov al, byte [eax + 0x38]
mov byte [esp + 0x50], al
mov eax, dword [esp + 0x74]
mov eax, dword [eax + 0x3c]
mov dword [esp + 0x54], eax
jmp 0x44a92f
mov edi, dword [eax + 0x54]
mov edx, eax
lea eax, [esi + edi]
sub eax, dword [edx + 0x74]
jmp 0x44ab20
mov eax, dword [esp + 0x74]
mov edi, dword [eax + 0x74]
cmp edi, 0xffff81f5
jne 0x44ab66
mov eax, edi
mov dword [esp + 0x1c], eax
jmp 0x44a92f
mov ecx, dword [eax + 0x54]
mov edx, eax
lea eax, [edi + ecx]
sub eax, dword [edx + 0x74]
mov dword [esp + 0x1c], eax
jmp 0x44a92f
cmp byte [esp + 0x7c], 0
jne 0x44abb1
mov eax, dword [esp + 0x74]
test byte [eax + 0x61], 8
je 0x44abfa
call fcn.00445800
mov edx, eax
cmp eax, 0xffffffff
je 0x44abc7
mov byte [esp + 0x20], 0xff
mov byte [esp + 0x7c], 1
dec edx
xor ebx, ebx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x24], ebx
jmp 0x44a967
mov ebx, dword [esp + 0x6c]
mov eax, dword [esp + 0x74]
mov edx, ebp
call fcn.0044a850
xor bl, bl
jmp 0x44aab9
mov eax, dword [esp + 0x74]
mov edx, dword [eax + 0x74]
mov ecx, dword [esp + 0x74]
neg edx
or byte [eax + 0x63], 4
call fcn.004461b0
mov edx, dword [esp + 0x74]
mov ecx, dword [ecx + 0x40]
mov eax, dword [esp + 0x74]
sub ecx, dword [edx + 0x74]
mov edx, 0x7e0b
call fcn.004461b0
lea edx, [eax + ecx]
jmp 0x44ab97
mov ebx, dword [esp + 0x64]
mov edx, ebp
call fcn.0044a850
xor bl, bl
jmp 0x44aab9
cmp byte [esp + 0x7c], 0
jne 0x44abb1
mov eax, dword [esp + 0x74]
test byte [eax + 0x61], 8
je 0x44ac3a
mov byte [esp + 0x20], 0xff
xor edi, edi
mov byte [esp + 0x7c], 1
mov dword [esp + 0x1c], edi
mov dword [esp + 0x24], edi
inc byte [esp + 0x20]
jmp 0x44a984
mov ebx, dword [esp + 0x60]
mov edx, ebp
call fcn.0044a850
xor bl, bl
jmp 0x44aab9
test byte [esp + 0x10], 0x80
jne 0x44ac31
mov eax, dword [esp]
xor esi, esi
mov ecx, 0xffffffff
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], eax
lea ebx, [esp + 0x5c]
lea edx, [esp + 0x58]
mov eax, ebp
call fcn.0044a810
test al, al
je 0x44ac31
mov eax, dword [esp + 0x5c]
mov esi, dword [esp]
sub eax, esi
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x58]
sub eax, esi
mov dword [esp + 0x24], eax
mov al, byte [esp + 0x20]
mov ah, byte [esp + 0x50]
cmp al, ah
jae 0x44acad
lea edi, [esp + 0x3c]
lea esi, [esp + 0x1c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
inc dword [esp + 0x58]
jmp 0x44ac65
jbe 0x44acc7
cmp ecx, dword [esp + 0x34]
jne 0x44aca7
lea edi, [esp + 0x2c]
lea esi, [esp + 0x1c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
inc dword [esp + 0x58]
jmp 0x44ac65
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x54]
cmp eax, edx
jle 0x44acee
cmp ecx, dword [esp + 0x34]
jne 0x44aca7
lea edi, [esp + 0x2c]
lea esi, [esp + 0x1c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
inc dword [esp + 0x58]
jmp 0x44ac65
jge 0x44aca7
jmp 0x44ac9b
lea edi, [esp + 0x2c]
lea esi, [esp + 0x3c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x44a9b6
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x74]
mov eax, dword [eax + 0x74]
add eax, dword [edx + 0x54]
sub eax, dword [edx + 0x74]
jmp 0x44aa0e
mov edx, dword [esp + 0x74]
mov edx, dword [edx + 0x74]
mov eax, dword [esp + 0x74]
neg edx
jmp 0x44aa3a
mov eax, dword [esp + 0x74]
cmp dword [eax + 0x40], 0xffff81f5
sete al
movzx eax, al
cmp eax, dword [esp + 0x1c]
jg 0x44ad6a
mov eax, dword [esp + 0x74]
mov eax, dword [eax + 0x40]
test eax, eax
je 0x44aa3f
mov eax, dword [esp + 0x74]
or byte [eax + 0x63], 4
mov eax, dword [eax + 0x40]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [esp + 0x1c]
jmp 0x44aa34
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x74]
mov eax, dword [eax + 0x40]
add eax, dword [edx + 0x54]
sub eax, dword [edx + 0x74]
jmp 0x44ad49
mov edx, dword [esp + 0x74]
mov eax, edi
sub eax, dword [edx + 0x54]
add eax, dword [edx + 0x74]
jmp 0x44aa51
cmp dword [esp + 0x70], 0
jle 0x44add7
cmp byte [esp + 0x7c], 0
je 0x44adaa
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x4c]
jg 0x44abb1
mov dword [esp + 0x54], 0xffffffff
mov ebx, 1
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x74]
mov byte [esp + 0x50], 0
call fcn.00445810
mov dword [esp + 0x1c], eax
mov byte [esp + 0x20], 0
jmp 0x44a967
mov dword [esp + 0x54], 0x7fff
mov ebx, 0xffffffff
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x74]
mov byte [esp + 0x50], 0xff
call fcn.00445810
mov dword [esp + 0x1c], eax
mov byte [esp + 0x20], 0
jmp 0x44a967