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

Disassembly:
jmp 0x618440
sub esp, 0x78
push ebx
push esi
push edi
mov dword [esp + 0x20], 0
lea eax, [esp + 0x2c]
push dword [esp + 0x90]
push dword [esp + 0x90]
push eax
call fcn.004043d6
add esp, 0xc
test byte [esp + 0x34], 1
je 0x6184c1
mov edi, dword [esp + 0x2c]
xor eax, eax
mov ebx, 1
mov dword [esp + 0xc], eax
xor ecx, ecx
mov dword [esp + 0x2c], eax
and ebx, 0xfffffffe
mov ecx, eax
mov dword [esp + 0x14], ebx
test edi, edi
je 0x6184d5
mov esi, dword [esp + 0x88]
or byte [esi + 0x34], 1
test byte [esp + 0x34], 1
mov dword [esi], edi
je 0x6187b5
test ecx, ecx
je 0x6187b5
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, esi
pop edi
pop esi
pop ebx
add esp, 0x78
ret
xor edi, edi
xor ecx, ecx
mov ecx, dword [esp + 0x2c]
xor ebx, ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0xc], ecx
jmp 0x61848e
mov eax, dword [esp + 0x30]
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x24]
push eax
call fcn.00413fbb
mov cl, byte [esp + 0x40]
mov al, cl
not al
test al, 1
jne 0x6185bf
test cl, 1
je 0x618523
mov edi, dword [esp + 0x38]
lea eax, [esp + 0x10]
mov esi, dword [esp + 0x20]
mov ebx, 8
mov dword [esp + 0x38], 0
jmp 0x618530
xor esi, esi
lea eax, [esp + 0x18]
xor edi, edi
mov ebx, 0x30
or ebx, dword [esp + 0x14]
mov dword [eax], 0
test bl, 0x20
je 0x618550
mov ecx, dword [esp + 0x18]
and ebx, 0xffffffdf
test ecx, ecx
je 0x618550
mov eax, dword [ecx]
push 1
call dword [eax]
test bl, 0x10
je 0x618564
and ebx, 0xffffffef
test esi, esi
je 0x618564
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
test bl, 8
je 0x618577
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x618577
mov eax, dword [ecx]
push 1
call dword [eax]
mov esi, dword [esp + 0x88]
or byte [esi + 0x34], 1
test byte [esp + 0x40], 1
mov dword [esi], edi
je 0x618599
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x618599
mov eax, dword [ecx]
push 1
call dword [eax]
test byte [esp + 0x34], 1
je 0x6187b5
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x6187b5
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, esi
pop edi
pop esi
pop ebx
add esp, 0x78
ret
mov eax, dword [esp + 0x3c]
xor ecx, ecx
mov esi, dword [esp + 0x38]
xor edi, edi
shl eax, 6
xor ebx, ebx
add eax, esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
cmp esi, eax
je 0x618745
mov eax, dword [esi + 4]
bswap eax
sub eax, 2
je 0x61865b
sub eax, 9
je 0x61864c
sub eax, 7
jne 0x618636
push esi
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x2c]
call fcn.004020d6
mov dl, byte [esp + 0x4c]
mov al, dl
not al
test al, 1
je 0x618662
mov eax, dword [esp + 0x48]
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x18], eax
test dl, 1
je 0x618632
test ebx, ebx
je 0x618632
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax]
mov ecx, dword [esp + 0x10]
add esi, 0x40
cmp esi, dword [esp + 0x1c]
jne 0x6185e6
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
jmp 0x61874d
test ecx, ecx
mov eax, esi
cmovne eax, ecx
mov ecx, eax
mov dword [esp + 0x10], ecx
jmp 0x618636
test edi, edi
cmove edi, esi
jmp 0x618636
test dl, 1
je 0x618682
mov edi, dword [esp + 0x44]
lea eax, [esp + 0x18]
mov esi, dword [esp + 0x20]
mov ebx, 0x40
mov dword [esp + 0x44], 0
jmp 0x61868f
xor esi, esi
lea eax, [esp + 0x1c]
xor edi, edi
mov ebx, 0x180
or ebx, dword [esp + 0x14]
mov dword [eax], 0
test ebx, 0x100
je 0x6186b9
mov ecx, dword [esp + 0x1c]
and ebx, 0xfffffeff
test ecx, ecx
je 0x6186b9
mov eax, dword [ecx]
push 1
call dword [eax]
mov dl, byte [esp + 0x4c]
test bl, bl
jns 0x6186d3
and ebx, 0xffffff7f
test esi, esi
je 0x6186d3
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
mov dl, byte [esp + 0x4c]
test bl, 0x40
je 0x6186ea
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x6186ea
mov eax, dword [ecx]
push 1
call dword [eax]
mov dl, byte [esp + 0x4c]
mov esi, dword [esp + 0x88]
or byte [esi + 0x34], 1
mov dword [esi], edi
test dl, 1
je 0x61870a
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x61870a
mov eax, dword [ecx]
push 1
call dword [eax]
test byte [esp + 0x40], 1
je 0x61871f
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x61871f
mov eax, dword [ecx]
push 1
call dword [eax]
test byte [esp + 0x34], 1
je 0x6187b5
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x6187b5
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, esi
pop edi
pop esi
pop ebx
add esp, 0x78
ret
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x20]
push dword [esp + 0x18]
movups xmm0, xmmword [esp + 0x90]
push ebx
push edi
push ecx
push edx
push eax
sub esp, 0x10
lea ecx, [esp + 0x78]
mov eax, esp
movups xmmword [eax], xmm0
call fcn.00401df2
mov esi, dword [esp + 0x88]
mov ecx, esi
push eax
and byte [esi + 0x34], 0xfe
call fcn.0040e593
lea ecx, [esp + 0x50]
call fcn.00412e77
test byte [esp + 0x40], 1
je 0x6187a0
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x6187a0
mov eax, dword [ecx]
push 1
call dword [eax]
test byte [esp + 0x34], 1
je 0x6187b5
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x6187b5
mov edx, dword [ecx]
push 1
call dword [edx]
pop edi
mov eax, esi
pop esi
pop ebx
add esp, 0x78
ret