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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x30
mov ebx, dword [esp + 0x44]
movzx esi, word [ebx]
mov dword [esp + 4], 0xf9fa1d0f
mov byte [esp + 8], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 4
ja 0x447486
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 4]
push dword [esp]
push eax
call fcn.00447ab0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 4], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 5
jb 0x447460
xor eax, eax
cmp dword [esp + 4], esi
setne al
jmp dword [eax*4 + 0x454770]
mov esi, dword [ebx + 0x3c]
mov edi, dword [ebx + esi]
mov dword [esp + 4], 0x393a708c
mov word [esp + 8], 0
mov byte [esp + 0xa], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 6
ja 0x4474e6
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 4]
push dword [esp]
push eax
call fcn.00447b20
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 4], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 7
jb 0x4474c0
xor ecx, ecx
cmp edi, dword [esp + 4]
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x454788]
mov ebp, dword [ebx + esi + 0x78]
cmp dword [ebx + esi + 0x7c], 0
sete al
test ebp, ebp
sete cl
or cl, al
movzx ecx, cl
xor eax, eax
jmp dword [ecx*4 + 0x454790]
mov eax, dword [ebx + ebp + 0x20]
add eax, ebx
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + ebp + 0x24]
add eax, ebx
mov dword [esp + 0x24], eax
mov eax, dword [ebx + ebp + 0x1c]
add eax, ebx
mov dword [esp + 0x20], eax
mov esi, dword [0x4561e8]
xor eax, eax
test esi, esi
sete al
mov dword [esp + 0x10], ebp
jmp dword [eax*4 + 0x454798]
mov edi, dword [0x4561e4]
mov eax, dword [ebx + ebp + 0x18]
add eax, edi
mov ecx, 0xffffffff
cmp eax, 0x20000000
jae 0x44756a
shl eax, 3
mov ecx, eax
push ecx
call fcn.0040c610
add esp, 4
mov dword [esp + 0xc], eax
mov ecx, edi
and ecx, 0xfffffff7
mov edx, edi
not edx
mov ebp, edx
and ebp, 8
imul ebp, ecx
or edx, 8
add edx, edi
inc edx
mov ebx, edi
xor ebx, 8
add ebx, edi
sub ebx, ecx
imul ebx, edx
lea edi, [ebx + ebp]
cmp eax, esi
jbe 0x4476b8
lea ecx, [esi + edi]
cmp ecx, eax
jbe 0x4476b8
test edi, edi
je 0x4476e9
lea ecx, [esi + edi]
dec ecx
add eax, edi
dec eax
lea esi, [ebx + ebp]
dec esi
and ebx, 7
je 0x4475e4
mov ebp, edi
neg ebx
xor edi, edi
nop
nop
movzx edx, byte [ecx + edi]
mov byte [eax + edi], dl
dec edi
cmp ebx, edi
jne 0x4475d0
add ecx, edi
add eax, edi
add ebp, edi
mov edi, ebp
cmp esi, 7
jb 0x4476e9
neg edi
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [ecx + esi]
mov byte [eax + esi], dl
movzx edx, byte [ecx + esi - 1]
mov byte [eax + esi - 1], dl
movzx edx, byte [ecx + esi - 2]
mov byte [eax + esi - 2], dl
movzx edx, byte [ecx + esi - 3]
mov byte [eax + esi - 3], dl
movzx edx, byte [ecx + esi - 4]
mov byte [eax + esi - 4], dl
movzx edx, byte [ecx + esi - 5]
mov byte [eax + esi - 5], dl
movzx edx, byte [ecx + esi - 6]
mov byte [eax + esi - 6], dl
movzx edx, byte [ecx + esi - 7]
mov byte [eax + esi - 7], dl
add esi, 0xfffffff8
cmp edi, esi
jne 0x447600
jmp 0x4476e9
mov ecx, dword [case.0x4474f1.1]
xor eax, eax
nop
nop
nop
nop
nop
nop
jmp ecx
add esp, 0x30
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebx + ebp + 0x18]
mov ecx, 0xffffffff
cmp eax, 0x20000000
jae 0x44767f
shl eax, 3
mov ecx, eax
push ecx
call fcn.0040c610
add esp, 4
mov dword [0x4561e8], eax
lea eax, [esp + 8]
mov dword [esp + 0x1c], eax
lea eax, [ebx - 1]
mov dword [esp + 0x18], eax
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x14], 0
cmp ecx, dword [ebx + ebp + 0x18]
setb al
xor edi, edi
jmp dword [eax*4 + 0x4547a8]
mov ecx, edi
shr ecx, 2
mov ebp, esi
mov edx, edi
mov edi, dword [esp + 0xc]
xchg esi, ebp
rep movsd dword es:[edi], dword [esi]
xchg esi, ebp
and edx, 0xfffffffc
add eax, edx
add edx, esi
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov esi, edx
mov edi, eax
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
test bl, 1
jne 0x447741
mov eax, dword [0x4561e8]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x4547a0]
push eax
call fcn.0040c620
add esp, 4
mov eax, dword [esp + 0xc]
mov dword [0x4561e8], eax
lea eax, [esp + 8]
mov dword [esp + 0x1c], eax
mov ebx, dword [esp + 0x44]
lea eax, [ebx - 1]
mov dword [esp + 0x18], eax
xor edx, edx
xor eax, eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], 0
cmp edx, dword [ebx + ecx + 0x18]
setb al
xor edi, edi
jmp dword [eax*4 + 0x4547a8]
and ebx, 2
movzx ecx, byte [edx + ebx]
mov byte [eax + ebx], cl
mov eax, dword [0x4561e8]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x4547a0]