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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
and esp, 0xfffffff8
sub esp, 0xb0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], 0x6fb9
mov word [esp + 0x92], 0x4790
mov dx, word [esp + 0x94]
mov dword [esp + 0x8c], 0x3fd
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0xa0]
mov dword [esp + 0x34], edi
mov ebx, esi
xor ebx, 0x29df
mov dword [esp + 0x30], ebx
mov dword [esp + 0x78], eax
mov dword [esp + 0x70], ecx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], esi
mov word [esp + 0x16], dx
call fcn.00445aa0
mov dword [esp + 0x28], eax
mov eax, dword [eax + 0xc]
mov ecx, eax
add ecx, 0x14
mov dword [esp + 0x40], ecx
mov eax, dword [eax + 0x14]
mov ecx, dword [esp + 0x18]
and ecx, 0x494a
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], 0
mov dword [esp + 0x3c], eax
jmp 0x4459e3
mov ecx, dword [esp + 0x8c]
add ecx, 0xfffffc64
movzx eax, word [esp + 0x86]
add ecx, eax
sub ecx, 0x41
mov dx, cx
mov word [esp + 0x86], dx
jmp 0x445895
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0xa0]
xor eax, edx
xor ecx, esi
xor eax, 0x319b
or eax, ecx
mov dword [esp + 0x10], eax
jne 0x4458fa
jmp 0x445934
mov eax, dword [esp + 0x64]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x64], eax
jmp 0x445772
mov esi, dword [esp + 0xa4]
mov edx, dword [esp + 0xa0]
xor edx, 0x4dd6
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x24], esi
mov esi, 0x6b10
mov dword [esp + 0x20], edx
xor edx, edx
sub esi, eax
mov dword [esp + 0xc], esi
sbb edx, ecx
mov dword [esp + 8], edx
jb 0x445895
jmp 0x445742
jmp 0x44590d
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [esp + 0x3c], eax
jmp 0x4459e3
mov eax, dword [esp + 0x8c]
xor eax, 0x3fc
add eax, dword [esp + 0x2c]
mov dword [esp + 0x2c], eax
jmp 0x445a48
mov ecx, dword [esp + 0x6c]
mov eax, 0x3fd
sub eax, dword [esp + 0x8c]
cmp ecx, eax
je 0x4457cf
jmp 0x4459de
cmp dword [esp + 0x78], 0
jne 0x4459f2
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x6c], 0
add eax, 0xfffffc03
mov dword [esp + 0x2c], eax
jmp 0x445a48
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x7c]
mov eax, dword [eax + 0x18]
cmp eax, dword [esp + 0x78]
je 0x445815
jmp 0x445820
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x88], ecx
mov esi, dword [esp + 0x1c]
not esi
mov edx, dword [esp + 0x18]
not edx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x9c], esi
mov dword [esp + 0x98], edx
mov eax, 0x223e
cmp eax, ecx
jne 0x445982
jmp 0x445a48
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov edx, 0x6c56
xor ecx, ecx
sub edx, esi
mov dword [esp + 0x98], edx
sbb ecx, edi
mov dword [esp + 0x9c], ecx
movzx edx, word [esp + 0x86]
mov ecx, dword [esp + 0x70]
movzx ecx, word [ecx + ebx*2]
mov eax, 0x3fd
sub eax, dword [esp + 0x8c]
cmp ecx, edx
sete cl
and cl, 1
movzx edx, cl
mov dword [esp + 0x6c], edx
movzx edx, word [esp + 0x86]
cmp edx, eax
je 0x4457cf
jmp 0x4457fc
movzx eax, word [esp + 0x86]
cmp eax, 0x5a
jle 0x445718
jmp 0x445895
mov ecx, dword [esp + 0x8c]
add ecx, 0xfffffc03
mov eax, dword [esp + 0x6c]
cmp eax, ecx
jne 0x445934
jmp 0x4457d4
mov dword [esp + 0x64], 0
jmp 0x445772
mov ebx, 0xae83
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x5c], ecx
xor eax, 0x7dda
xor edi, edi
mov dword [esp + 0x58], eax
mov esi, dword [esp + 0xa4]
mov edx, dword [esp + 0xa0]
sub ebx, edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x44], edx
sbb edi, esi
xor eax, ebx
xor ecx, edi
or eax, ecx
mov dword [esp + 4], eax
jne 0x445780
jmp 0x445927
mov edx, dword [esp + 0x88]
xor eax, eax
mov ecx, eax
add ecx, 8
sub eax, ecx
mov ecx, dword [esp + 0x8c]
add ecx, 0x7148
mov dword [esp + 0x54], ecx
add edx, eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x7c]
movzx edx, word [edx + 0x2c]
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x80], edx
xor ecx, 0x70f0
cmp ecx, eax
jne 0x44583d
jmp 0x4457e3
jmp 0x4457e3
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x40]
jne 0x445a0f
jmp 0x445927
mov ecx, dword [esp + 0x7c]
mov al, byte [esp + 0x97]
and al, 0x9f
mov byte [esp + 0x97], al
mov dword [esp + 0x64], ecx
jmp 0x445772
mov dword [esp + 0x74], 0x1ff6
mov word [esp + 0x52], 0x56b4
mov si, word [esp + 0x52]
mov edx, dword [esp + 0x74]
mov cx, word [esp + 0x92]
mov dword [esp + 0x48], edx
mov ax, 0xa1c4
sub ax, cx
cmp ax, si
ja 0x44585a
jmp 0x445820
mov eax, dword [esp + 0x68]
shr eax, 1
cmp dword [esp + 0x2c], eax
jae 0x44590d
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
mov dx, word [ecx + eax*2]
mov word [esp + 0x86], dx
mov bl, byte [esp + 0x97]
or bl, byte [esp + 0x97]
movzx eax, word [esp + 0x86]
cmp eax, 0x41
mov byte [esp + 0x97], bl
jge 0x44578d
jmp 0x445895