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

Disassembly:
sub esp, 0x24
push ebx
push ebp
push esi
mov esi, dword [esp + 0x34]
xor ebp, ebp
push edi
mov eax, dword [esi + 0x1d4]
mov ebx, dword [esi + 0x14]
test ah, 0x80
mov dword [esp + 0x10], ebp
mov dword [esp + 0x38], ebx
je 0x445bdb
mov edi, dword [esi + 0xd4]
cmp edi, ebp
je 0x445ad6
mov eax, dword [edi + 0xd8]
cmp eax, ebp
je 0x445aa7
mov ecx, dword [edi + 0xdc]
mov dword [eax + 0xdc], ecx
mov edx, dword [edi + 0xdc]
mov eax, dword [edi + 0xd8]
push edi
mov dword [edx], eax
call fcn.00446010
add esp, 4
cmp eax, ebp
je 0x445acc
cmp dword [esp + 0x10], ebp
jne 0x445acc
mov dword [esp + 0x10], eax
mov edi, dword [edi + 0xd8]
cmp edi, ebp
jne 0x445a91
mov edi, dword [esp + 0x40]
and edi, 0x18
jne 0x445b03
mov eax, dword [esi + 0x1d4]
test ah, 1
jne 0x445b03
push ebp
push esi
call dword [esi + 0x184]
add esp, 8
cmp eax, ebp
je 0x445b03
cmp dword [esp + 0x10], ebp
jne 0x445b03
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0xc4]
cmp eax, ebp
je 0x445b31
push eax
call dword [eax + 0xbc]
add esp, 4
cmp eax, ebp
jne 0x445b27
mov eax, dword [esi + 0xc4]
cmp eax, ebp
jne 0x445b0d
jmp 0x445b31
cmp dword [esp + 0x10], ebp
jne 0x445b31
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0xbc]
cmp eax, ebp
je 0x445b5e
push eax
call fcn.00478dc0
add esp, 4
cmp eax, ebp
jne 0x445b54
mov eax, dword [esi + 0xbc]
cmp eax, ebp
jne 0x445b3b
jmp 0x445b5e
cmp dword [esp + 0x10], ebp
jne 0x445b5e
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0xcc]
cmp eax, ebp
je 0x445b8c
push eax
call dword [eax + 0xbc]
add esp, 4
cmp eax, ebp
jne 0x445b82
mov eax, dword [esi + 0xcc]
cmp eax, ebp
jne 0x445b68
jmp 0x445b8c
cmp dword [esp + 0x10], ebp
jne 0x445b8c
mov dword [esp + 0x10], eax
cmp edi, ebp
jne 0x445bb3
mov eax, dword [esi + 0x1d4]
test ah, 1
jne 0x445bb3
mov eax, dword [esi + 0x1c]
push eax
call dword [eax + 0x78]
add esp, 4
cmp eax, ebp
je 0x445bb3
cmp dword [esp + 0x10], ebp
jne 0x445bb3
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0xb0]
cmp eax, ebp
je 0x445bdb
test byte [eax + 0x20], 4
je 0x445bdb
push eax
push ebx
call fcn.00472dc0
add esp, 8
cmp eax, ebp
je 0x445bdb
cmp dword [esp + 0x10], ebp
jne 0x445bdb
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x48]
mov edi, 5
cmp eax, ebp
je 0x445c48
mov ecx, dword [esp + 0x3c]
cmp ecx, ebp
je 0x445bfe
lea edx, [esi + 0x54]
push eax
push edx
push ecx
push ebx
call fcn.00471c40
add esp, 0x10
mov ecx, dword [esi + 0x48]
push ebp
lea eax, [esp + 0x18]
push 1
push eax
push ebp
push ecx
push ebx
mov dword [esp + 0x2c], edi
call fcn.00453c30
add esp, 0x18
cmp eax, ebp
je 0x445c26
cmp dword [esp + 0x10], ebp
jne 0x445c26
mov dword [esp + 0x10], eax
mov edx, dword [esi + 0x48]
push edx
push ebx
call dword [ebx + 0x1a8]
add esp, 8
cmp eax, ebp
je 0x445c42
cmp dword [esp + 0x10], ebp
jne 0x445c42
mov dword [esp + 0x10], eax
mov dword [esi + 0x48], ebp
mov dword [esi + 0x54], ebp
mov eax, dword [esi + 0x1d4]
test ah, 0x20
je 0x445c77
cmp dword [ebx + 0x178], ebp
je 0x445c77
mov eax, dword [esi + 0x28]
push eax
push ebx
call dword [ebx + 0x1a8]
add esp, 8
cmp eax, ebp
je 0x445c77
cmp dword [esp + 0x10], ebp
jne 0x445c77
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x24]
mov dword [esi + 0x18], edi
cmp eax, ebp
je 0x445c98
mov ecx, dword [ebx + 0x1bc]
push eax
mov edx, dword [ecx + 0x18]
push edx
push ebx
call fcn.0045c0d0
add esp, 0xc
mov dword [esi + 0x24], ebp
mov eax, dword [esi + 0x68]
lea edi, [esi + 0x68]
cmp eax, ebp
je 0x445caf
push eax
mov eax, dword [esi + 0x14]
push eax
call fcn.0043ab30
add esp, 8
mov eax, dword [esi + 0x80]
lea ebx, [esi + 0x80]
cmp eax, ebp
je 0x445ccc
mov ecx, dword [esi + 0x14]
push eax
push ecx
call fcn.0043ab30
add esp, 8
mov eax, dword [esi + 0x98]
lea ebp, [esi + 0x98]
test eax, eax
je 0x445ce9
mov edx, dword [esi + 0x14]
push eax
push edx
call fcn.0043ab30
add esp, 8
mov ecx, 6
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, 6
mov edi, ebx
rep stosd dword es:[edi], eax
mov ecx, 6
mov edi, ebp
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x38]
xor ebx, ebx
mov eax, dword [edi + 0xbc]
cmp eax, ebx
je 0x445d24
test byte [eax + 0x24], 1
jne 0x445d24
push eax
push edi
call fcn.0044c830
add esp, 8
mov ecx, dword [esi + 0xb8]
cmp ecx, ebx
je 0x445d4c
mov eax, dword [esi + 0xb4]
cmp eax, ebx
je 0x445d3e
mov dword [eax + 0xb8], ecx
mov eax, dword [esi + 0xb8]
mov ecx, dword [esi + 0xb4]
mov dword [eax], ecx
mov eax, dword [edi + 0xbc]
cmp eax, ebx
je 0x445d66
test byte [eax + 0x24], 1
jne 0x445d66
push eax
push edi
call fcn.0044c910
add esp, 8
mov eax, dword [esi + 0x1c]
mov dword [esi + 0xb8], ebx
cmp eax, ebx
je 0x445d98
mov edx, dword [esi + 0x1d4]
shr edx, 6
and edx, 4
push edx
push eax
call dword [eax + 0x3c]
add esp, 8
cmp eax, ebx
je 0x445d95
cmp dword [esp + 0x10], ebx
jne 0x445d95
mov dword [esp + 0x10], eax
mov dword [esi + 0x1c], ebx
mov eax, dword [esi + 0x14]
cmp dword [eax + 0x14c], ebx
je 0x445dcf
test dword [esi + 0x1d4], 0x100000
je 0x445db8
push ebx
push esi
call fcn.004873c0
jmp 0x445dc3
mov ecx, dword [esp + 0x3c]
push ecx
push esi
call fcn.00487480
add esp, 8
push esi
call fcn.00487080
add esp, 4
lea eax, [esi + 0x28]
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov eax, dword [esp + 0x3c]
cmp eax, ebx
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x44], ebx
mov dword [esi + 0x4c], ebx
mov dword [esi + 0x50], ebx
mov dword [esi + 0x64], ebx
je 0x445dfc
mov dword [esi + 0x54], ebx
mov eax, dword [esi + 0x1d4]
pop edi
and eax, 0xfbeb5edf
mov dword [esi + 0x1d4], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0x24
ret