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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x7c
push ebx
push esi
mov eax, edx
mov dword [esp + 0x14], eax
push edi
mov edi, ecx
mov dword [esp + 0x1c], edi
test eax, eax
je 0x419527
mov esi, 1
push ecx
mov edx, esi
call fcn.00418030
add esp, 4
test eax, eax
jne 0x419527
push dword [edi + 4]
mov edx, dword [ebp + 0xc]
lea ecx, [esp + 0x2c]
xor ebx, ebx
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x70], esi
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], esi
mov dword [esp + 0x64], eax
mov dword [esp + 0x14], eax
mov word [esp + 0x42], ax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], eax
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], eax
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], eax
mov dword [esp + 0x58], esi
mov dword [esp + 0x54], eax
mov dword [esp + 0x78], esi
mov dword [esp + 0x74], eax
mov dword [esp + 0x60], esi
mov dword [esp + 0x18], eax
mov dword [esp + 0x5c], eax
call fcn.00421db0
mov esi, eax
add esp, 4
test esi, esi
jne 0x418ea2
lea edx, [edi + 8]
lea ecx, [esp + 0x28]
call fcn.00422170
test eax, eax
js 0x4190f8
lea esi, [ebx - 4]
xor edi, edi
mov eax, dword [esp + 0x60]
mov dword [esp + 0x6c], 1
mov dword [esp + 0x68], 0
test eax, eax
je 0x418ee7
movzx ecx, word [esp + 0x66]
shl ecx, 2
test ecx, ecx
je 0x418edb
nop dword [eax + eax]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x418ed0
push dword [esp + 0x60]
call fcn.0042f3a1
add esp, 4
mov dword [esp + 0x64], 1
mov dword [esp + 0x60], 0
test ebx, ebx
je 0x418f24
mov eax, dword [esp + 0x10]
movzx ecx, ax
shl ecx, 2
test ecx, ecx
je 0x418f1b
mov eax, ebx
nop dword [eax + eax]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x418f10
push ebx
call fcn.0042f3a1
add esp, 4
mov eax, dword [esp + 0x40]
mov dword [esp + 0x3c], 1
mov dword [esp + 0x38], 0
test eax, eax
je 0x418f67
movzx ecx, word [esp + 0x46]
shl ecx, 2
test ecx, ecx
je 0x418f5b
nop dword [eax + eax]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x418f50
push dword [esp + 0x40]
call fcn.0042f3a1
add esp, 4
mov eax, dword [esp + 0x48]
mov dword [esp + 0x44], 1
mov dword [esp + 0x40], 0
test eax, eax
je 0x418fa7
movzx ecx, word [esp + 0x4e]
shl ecx, 2
test ecx, ecx
je 0x418f9b
nop dword [eax + eax]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x418f90
push dword [esp + 0x48]
call fcn.0042f3a1
add esp, 4
mov edx, dword [esp + 0x28]
mov dword [esp + 0x4c], 1
mov dword [esp + 0x48], 0
test edx, edx
je 0x418fe4
movzx ecx, word [esp + 0x2e]
shl ecx, 2
test ecx, ecx
je 0x418fdb
mov eax, edx
nop dword [eax]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x418fd0
push edx
call fcn.0042f3a1
add esp, 4
mov eax, dword [esp + 0x30]
mov dword [esp + 0x2c], 1
mov dword [esp + 0x28], 0
test eax, eax
je 0x419027
movzx ecx, word [esp + 0x36]
shl ecx, 2
test ecx, ecx
je 0x41901b
nop dword [eax + eax]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x419010
push dword [esp + 0x30]
call fcn.0042f3a1
add esp, 4
mov eax, dword [esp + 0x50]
mov dword [esp + 0x34], 1
mov dword [esp + 0x30], 0
test eax, eax
je 0x419067
movzx ecx, word [esp + 0x56]
shl ecx, 2
test ecx, ecx
je 0x41905b
nop dword [eax + eax]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x419050
push dword [esp + 0x50]
call fcn.0042f3a1
add esp, 4
mov edx, dword [esp + 0x14]
mov dword [esp + 0x54], 1
mov dword [esp + 0x50], 0
test edx, edx
je 0x4190a4
movzx ecx, word [esp + 0x5e]
shl ecx, 2
test ecx, ecx
je 0x41909b
mov eax, edx
nop dword [eax]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x419090
push edx
call fcn.0042f3a1
add esp, 4
mov dword [esp + 0x5c], 1
mov dword [esp + 0x58], 0
test edi, edi
je 0x4190da
movzx ecx, word [esp + 0x76]
shl ecx, 2
test ecx, ecx
je 0x4190d1
mov eax, edi
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x4190c6
push edi
call fcn.0042f3a1
add esp, 4
test esi, esi
je 0x41951e
cmp esi, 0xffffff81
jl 0x41951e
lea eax, [esi - 0x4300]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [ebp + 8]
mov edx, dword [esp + 0x1c]
mov ecx, edi
call fcn.00418710
mov esi, eax
add esp, 4
test esi, esi
jne 0x418ea2
lea eax, [edi + 0x60]
lea edx, [esp + 0x28]
push eax
mov ecx, edx
call fcn.00422650
mov esi, eax
add esp, 4
test esi, esi
jne 0x418ea2
lea eax, [edi + 8]
lea edx, [esp + 0x28]
push eax
mov ecx, edx
call fcn.00423080
mov esi, eax
add esp, 4
test esi, esi
jne 0x418ea2
lea edx, [esp + 0x28]
lea ecx, [esp + 0x70]
call fcn.00421940
mov esi, eax
test esi, esi
jne 0x419515
lea ecx, [esp + 0x78]
mov dword [esp + 0x20], 1
push 0xffffffffffffffff
lea eax, [esp + 0x24]
mov dword [esp + 0x80], 0x10001
push ecx
lea edx, [edi + 0x20]
mov dword [esp + 0x80], eax
lea ecx, [esp + 0x70]
call fcn.00422390
mov esi, eax
add esp, 8
test esi, esi
jne 0x4194eb
lea ecx, [esp + 0x80]
mov dword [esp + 0x24], 1
push 0xffffffffffffffff
lea eax, [esp + 0x28]
mov dword [esp + 0x88], 0x10001
push ecx
lea edx, [edi + 0x28]
mov dword [esp + 0x88], eax
lea ecx, [esp + 0x68]
call fcn.00422390
mov esi, eax
add esp, 8
test esi, esi
jne 0x4194eb
mov eax, 1
push 4
push 7
mov word [esp + 0x44], ax
call fcn.0042c6c4
mov edi, eax
add esp, 8
test edi, edi
jne 0x419205
lea esi, [eax - 0x10]
jmp 0x4194eb
push 0x1c
mov eax, 7
mov ebx, edi
push edi
push dword [ebp + 8]
mov dword [esp + 0x1c], eax
mov word [esp + 0x4a], ax
mov dword [esp + 0x44], ebx
call dword [esp + 0x24]
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4194eb
lea edx, [edi + 0x18]
cmp edi, edx
ja 0x41924d
mov eax, dword [edx]
mov ecx, dword [edi]
bswap eax
bswap ecx
mov dword [edi], eax
add edi, 4
mov dword [edx], ecx
sub edx, 4
cmp edi, edx
jbe 0x419237
test esi, esi
jne 0x4194eb
lea eax, [esp + 0x38]
push eax
lea edx, [esp + 0x6c]
lea ecx, [esp + 0x44]
call fcn.00422650
mov esi, eax
add esp, 4
test esi, esi
jne 0x4194eb
mov edi, dword [esp + 0x1c]
lea edx, [esp + 0x40]
push 1
mov ecx, edx
lea eax, [edi + 0x30]
push eax
call fcn.00422390
mov esi, eax
add esp, 8
test esi, esi
jne 0x4194eb
mov eax, dword [esp + 0x10]
cmp ax, 7
jne 0x4192b0
xorps xmm0, xmm0
movups xmmword [ebx], xmm0
movq qword [ebx + 0x10], xmm0
mov dword [ebx + 0x18], esi
jmp 0x419314
test ebx, ebx
je 0x4192d4
movzx ecx, ax
shl ecx, 2
test ecx, ecx
je 0x4192cb
mov eax, ebx
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x4192c0
push ebx
call fcn.0042f3a1
add esp, 4
xor eax, eax
xor ebx, ebx
push 4
push 7
mov dword [esp + 0x18], eax
mov word [esp + 0x46], ax
mov dword [esp + 0x40], ebx
call fcn.0042c6c4
mov ecx, eax
add esp, 8
test ecx, ecx
jne 0x419300
lea esi, [ebx - 0x10]
jmp 0x4194eb
mov eax, 7
mov ebx, ecx
mov dword [esp + 0x10], eax
mov word [esp + 0x3e], ax
mov dword [esp + 0x38], ebx
push 0x1c
push ebx
push dword [ebp + 8]
call dword [esp + 0x24]
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4194eb
mov edx, ebx
lea edi, [ebx + 0x18]
cmp edx, edi
ja 0x41934a
mov eax, dword [edi]
mov ecx, dword [edx]
bswap eax
bswap ecx
mov dword [edx], eax
add edx, 4
mov dword [edi], ecx
sub edi, 4
cmp edx, edi
jbe 0x419334
mov edi, dword [esp + 0x1c]
test esi, esi
jne 0x4194eb
lea eax, [esp + 0x38]
push eax
lea edx, [esp + 0x64]
lea ecx, [esp + 0x4c]
call fcn.00422650
mov esi, eax
add esp, 4
test esi, esi
jne 0x4194eb
lea eax, [edi + 0x38]
lea edx, [esp + 0x48]
push 1
push eax
mov ecx, edx
call fcn.00422390
mov esi, eax
add esp, 8
test esi, esi
jne 0x4194eb
lea eax, [edi + 0x50]
push eax
lea eax, [edi + 0x20]
push eax
lea eax, [esp + 0x48]
push esi
push eax
lea edx, [esp + 0x38]
lea ecx, [esp + 0x40]
call fcn.00423150
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x4194eb
lea eax, [edi + 0x58]
push eax
lea eax, [edi + 0x28]
push eax
lea eax, [esp + 0x50]
push esi
push eax
lea edx, [esp + 0x38]
lea ecx, [esp + 0x60]
call fcn.00423150
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x4194eb
lea eax, [esp + 0x50]
push 0xffffffffffffffff
push eax
lea edx, [esp + 0x38]
lea ecx, [esp + 0x30]
call fcn.00422390
mov esi, eax
add esp, 8
test esi, esi
jne 0x4194eb
lea eax, [edi + 0x40]
push eax
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x34]
call fcn.00422650
mov esi, eax
add esp, 4
test esi, esi
jne 0x4194eb
lea eax, [edi + 0x20]
push eax
lea edx, [esp + 0x34]
lea ecx, [esp + 0x2c]
call fcn.00423080
mov esi, eax
add esp, 4
test esi, esi
jne 0x4194eb
lea eax, [edi + 0x28]
push eax
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x34]
call fcn.00422650
mov esi, eax
add esp, 4
test esi, esi
jne 0x4194eb
lea eax, [esp + 0x30]
push 1
push eax
lea edx, [esp + 0x58]
lea ecx, [esp + 0x30]
call fcn.00422390
mov esi, eax
add esp, 8
test esi, esi
jne 0x4194eb
lea eax, [edi + 0x48]
push eax
lea eax, [edi + 8]
push eax
lea eax, [edi + 0x10]
push esi
push eax
lea edx, [esp + 0x38]
lea ecx, [esp + 0x68]
call fcn.00423150
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x4194e3
lea edx, [esp + 0x70]
lea ecx, [esp + 0x58]
call fcn.00422170
test eax, eax
je 0x4194b6
mov esi, 0xffffbc80
jmp 0x4194e3
lea eax, [edi + 8]
push eax
lea edx, [edi + 0x68]
lea ecx, [esp + 0x2c]
call fcn.00418b00
mov esi, eax
add esp, 4
test esi, esi
jne 0x4194e3
push dword [edi + 4]
mov edx, dword [ebp + 0x10]
lea ecx, [esp + 0x2c]
call fcn.00421f00
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x68]
test edx, edx
je 0x419515
movzx ecx, word [esp + 0x6e]
shl ecx, 2
test ecx, ecx
je 0x41950c
mov eax, edx
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x419501
push edx
call fcn.0042f3a1
add esp, 4
mov edi, dword [esp + 0x70]
jmp 0x418ea4
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffbf80
pop ebx
mov esp, ebp
pop ebp
ret