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

Disassembly:
sub esp, 0x20
push ebx
push ebp
push esi
mov esi, dword [esp + 0x34]
mov al, byte [esi + 0x20]
neg al
mov edx, dword [esp + 0x40]
mov ebp, ecx
push edi
push edx
sbb eax, eax
and eax, 0xffffffe0
add eax, 0x61
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x44]
cmp eax, 0x3f
setl bl
xor ecx, ecx
test bl, bl
setne cl
sub eax, ecx
mov edi, eax
mov eax, dword [esp + 0x40]
push edi
push eax
lea ecx, [esp + 0x2c]
call fcn.00404f10
mov ecx, 0x3f
sub ecx, edi
mov eax, 1
shl eax, cl
sub eax, 1
cmp dword [esp + 0x24], eax
jne 0x443213
xor eax, eax
cmp dword [esp + eax*4 + 0x28], 0
jne 0x4431fc
add eax, 1
cmp eax, 2
jb 0x443154
cmp byte [esp + 0x20], 0
je 0x443177
mov word [esp + 0x10], 0x2d
jmp 0x44319a
cmp byte [esi + 0xd], 0
je 0x443186
mov word [esp + 0x10], 0x2b
jmp 0x44319a
cmp byte [esi + 0xe], 0
je 0x443195
mov word [esp + 0x10], 0x20
jmp 0x44319a
mov byte [esp + 0x10], 0
cmp byte [esi + 0x20], 0
mov eax, 0x456698
jne 0x4431aa
mov eax, 0x456694
mov edx, eax
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4431b0
lea edi, [esp + 0x10]
sub eax, edx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x4431c2
mov ecx, eax
shr ecx, 2
mov esi, edx
mov edx, dword [esp + 0x38]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x34]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x10]
push ecx
push edx
push eax
mov ecx, ebp
call fcn.00442750
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret 0x18
xor eax, eax
mov edi, edi
cmp dword [esp + eax*4 + 0x28], 0
jne 0x44329a
add eax, 1
cmp eax, 2
jb 0x443200
cmp byte [esp + 0x20], 0
mov ecx, dword [ebp]
mov dword [esp + 0x40], ecx
je 0x443235
lea edx, [esp + 0x44]
push edx
mov ecx, ebp
mov dword [esp + 0x48], 0x2d
call fcn.00434b30
lea eax, [esp + 0x44]
push eax
mov ecx, ebp
mov dword [esp + 0x48], 0x30
call fcn.00434b30
mov cl, byte [esi + 0x20]
neg cl
lea edx, [esp + 0x44]
push edx
sbb ecx, ecx
and ecx, 0xffffffe0
add ecx, 0x78
mov dword [esp + 0x48], ecx
mov ecx, ebp
call fcn.00434b30
test bl, bl
je 0x44334a
cmp dword [esp + 0x24], 0
jne 0x44332c
lea eax, [esp + 0x44]
push eax
mov ecx, ebp
mov dword [esp + 0x48], 0x30
call fcn.00434b30
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
jmp 0x44339c
cmp byte [esp + 0x20], 0
je 0x4432aa
mov word [esp + 0x10], 0x2d
jmp 0x4432cd
cmp byte [esi + 0xd], 0
je 0x4432b9
mov word [esp + 0x10], 0x2b
jmp 0x4432cd
cmp byte [esi + 0xe], 0
je 0x4432c8
mov word [esp + 0x10], 0x20
jmp 0x4432cd
mov byte [esp + 0x10], 0
cmp byte [esi + 0x20], 0
mov eax, 0x456690
jne 0x4432dd
mov eax, 0x45668c
mov edx, eax
nop
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4432e0
lea edi, [esp + 0x10]
sub eax, edx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x4432f2
mov ecx, eax
shr ecx, 2
mov esi, edx
mov edx, dword [esp + 0x38]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x34]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x10]
push ecx
push edx
push eax
mov ecx, ebp
call fcn.00442750
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret 0x18
lea ecx, [esp + 0x44]
push ecx
mov ecx, ebp
mov dword [esp + 0x48], 0x31
call fcn.00434b30
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
jmp 0x44339c
lea ecx, [edi - 1]
mov eax, ecx
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
and ecx, 0x8000001f
jns 0x443365
dec ecx
or ecx, 0xffffffe0
inc ecx
mov edx, dword [esp + eax*4 + 0x28]
shr edx, cl
lea eax, [esp + 0x44]
push eax
mov ecx, ebp
and edx, 1
add edx, 0x30
mov dword [esp + 0x48], edx
call fcn.00434b30
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
mov eax, esi
shr eax, 0x1f
add esi, esi
add ebx, ebx
or ebx, eax
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], ebx
mov ecx, dword [esp + 0x38]
cmp dword [ecx + 0x18], 0
jg 0x4433bc
xor eax, eax
cmp dword [esp + eax*4 + 0x28], 0
jne 0x4433bc
add eax, 1
cmp eax, 2
jb 0x4433a8
jmp 0x443457
lea edx, [esp + 0x44]
push edx
mov ecx, ebp
mov dword [esp + 0x48], 0x2e
call fcn.00434b30
mov eax, 0x40
sub eax, edi
mov ecx, 0x20
sub ecx, eax
mov edi, esi
shr edi, cl
mov edx, ebx
mov ecx, eax
shl edx, cl
mov dword [esp + 0x18], esi
shl esi, cl
or edx, edi
mov edi, edx
xor ebx, ebx
mov eax, edi
shr eax, 0x1c
cmp eax, 9
ja 0x443407
add eax, 0x30
mov dword [esp + 0x44], eax
jmp 0x443413
mov ecx, dword [esp + 0x10]
lea edx, [eax + ecx - 0xa]
mov dword [esp + 0x44], edx
lea eax, [esp + 0x44]
push eax
mov ecx, ebp
call fcn.00434b30
mov ecx, dword [esp + 0x38]
mov eax, esi
shr eax, 0x1c
shl edi, 4
or edi, eax
mov eax, dword [ecx + 0x18]
shl esi, 4
add ebx, 1
cmp ebx, eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], edi
jl 0x4433f4
test eax, eax
jg 0x443457
xor eax, eax
cmp dword [esp + eax*4 + 0x18], 0
jne 0x4433f4
add eax, 1
cmp eax, 2
jb 0x443448
mov edx, dword [esp + 0x38]
mov al, byte [edx + 0x20]
neg al
lea ecx, [esp + 0x44]
push ecx
mov ecx, ebp
sbb eax, eax
and eax, 0xffffffe0
add eax, 0x70
mov dword [esp + 0x48], eax
call fcn.00434b30
mov esi, dword [esp + 0x24]
test esi, esi
jne 0x443581
xor eax, eax
jmp 0x443490
cmp dword [esp + eax*4 + 0x28], 0
jne 0x443581
add eax, 1
cmp eax, 2
jb 0x443490
xor esi, esi
lea ecx, [esp + 0x44]
push ecx
mov ecx, ebp
mov dword [esp + 0x48], 0x2b
call fcn.00434b30
mov ebx, dword [ebp]
lea esp, [esp]
mov eax, 0x66666667
imul esi
sar edx, 2
mov edi, edx
shr edi, 0x1f
add edi, edx
lea edx, [edi + edi*4]
add edx, edx
sub esi, edx
add esi, 0x30
mov dword [esp + 0x44], esi
mov esi, dword [ebp]
cmp ebx, esi
ja 0x44352d
add esi, 1
cmp esi, dword [ebp + 8]
jbe 0x4434f6
push esi
mov ecx, ebp
call fcn.00429970
mov dword [ebp], esi
sub esi, ebx
sub esi, 1
je 0x44351d
mov eax, dword [ebp + 0xc]
lea ecx, [esi*4]
push ecx
lea edx, [eax + ebx*4]
push edx
lea eax, [eax + ebx*4 + 4]
push eax
call dword [sym.imp.MSVCR80.dll_memmove]
add esp, 0xc
mov ecx, dword [ebp + 0xc]
lea eax, [ecx + ebx*4]
test eax, eax
je 0x44352d
mov edx, dword [esp + 0x44]
mov dword [eax], edx
mov esi, edi
test esi, esi
jne 0x4434c0
cmp byte [esp + 0x20], 0
mov eax, dword [esp + 0x40]
je 0x443541
add eax, 1
mov esi, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x3c]
push esi
push eax
mov ecx, ebp
call fcn.00442620
mov ecx, dword [esp + 0x34]
push 0xffffffffffffffff
push esi
push ecx
mov ecx, ebp
call fcn.00442520
cmp esi, dword [ebp]
jae 0x443577
cmp esi, dword [ebp + 8]
jbe 0x443574
push esi
mov ecx, ebp
call fcn.00429970
mov dword [ebp], esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret 0x18
mov edx, dword [esp + 0x48]
add esi, edx
jns 0x4434a5
lea eax, [esp + 0x44]
push eax
mov ecx, ebp
mov dword [esp + 0x48], 0x2d
call fcn.00434b30
neg esi
jmp 0x4434b9