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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x78
push esi
mov esi, edx
mov dword [esp + 4], ecx
mov edx, dword [ebp + 8]
xor eax, eax
mov dword [esp + 0x20], eax
push edi
mov eax, dword [esi + 0x34]
movups xmm0, xmmword [edx]
mov edi, dword [ecx]
mov dword [esp + 0x18], esi
movups xmmword [esp + 0x30], xmm0
mov dword [esp + 0xc], edi
movq xmm0, qword [edx + 0x10]
movq qword [esp + 0x40], xmm0
mov edx, dword [eax + 0x30]
mov dword [esp + 0x14], eax
test edx, edx
jne 0x5e2f2d
cmp dword [eax + 0x3c], edx
jne 0x5e2f2d
mov edi, dword [ecx + 8]
mov dword [esp + 0x1c], edi
test edi, edi
jne 0x5e26bb
cmp dword [ecx + 0x74], edi
jne 0x5e26b0
mov eax, dword [esp + 0xc]
test byte [eax + 0x4c], 8
jne 0x5e26b0
mov byte [ecx + 0x17], 1
call fcn.005a7280
mov edi, eax
mov dword [esp + 0x1c], eax
cmp byte [esp + 0x30], 0xc
jne 0x5e26df
mov ecx, dword [esi + 0x1c]
mov edx, 0x64
push dword [ecx]
mov ecx, edi
push dword [esp + 0x38]
call fcn.005a7580
add esp, 8
mov byte [esp + 0x30], 0xe
mov eax, dword [esi + 4]
test eax, 0x400
je 0x5e272a
mov edx, dword [esi + 0x3c]
mov eax, esi
mov dword [esp + 0x20], edx
mov ecx, 1
xor edx, edx
mov dword [esp + 0x28], eax
cmp dword [esp + 0x20], edx
mov dword [esp + 0x10], ecx
sete dl
cmp dword [esi + 0x44], 0
jne 0x5e2727
nop
mov eax, dword [eax + 0x34]
test eax, eax
je 0x5e2755
add ecx, edx
mov dword [esp + 0x28], eax
cmp dword [eax + 0x44], 0
mov dword [esp + 0x10], ecx
je 0x5e2710
mov eax, dword [esi + 4]
test eax, 0x2000
je 0x5e27b8
mov edi, dword [esp + 8]
lea eax, [esp + 0x30]
push eax
mov edx, esi
mov ecx, edi
call fcn.005e2100
add esp, 4
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x5e2d90
mov edi, dword [esp + 8]
cmp ecx, 1
mov edx, 0x7e5ec4
mov eax, 0x7ba3e4
cmovne eax, edx
push eax
push ecx
push 0x7e6124
push 0
push edi
call fcn.005a7990
mov esi, dword [esp + 0x3c]
add esp, 0x14
nop
push 1
push 1
lea eax, [esp + 0x38]
mov edx, esi
push eax
push 0
push 0
push 0xffffffffffffffff
mov ecx, edi
call fcn.005dff10
add esp, 0x18
cmp dword [esp + 0x20], 0
jne 0x5e27b1
mov eax, dword [esp + 0x10]
mov word [esi + 2], ax
mov esi, dword [esi + 0x38]
test esi, esi
jne 0x5e2780
xor esi, esi
jmp 0x5e2efa
cmp dword [esi + 0x30], 0
je 0x5e27d5
push dword [ebp + 8]
mov ecx, dword [esp + 0xc]
mov edx, esi
call fcn.005e3270
add esp, 4
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x34], 0
jne 0x5e2809
push 0x7e6190
push 1
push dword [esp + 0x10]
call fcn.005a7990
add esp, 0xc
push 0x7e61a0
push 1
push dword [esp + 0x10]
call fcn.005a7990
mov ecx, dword [esp + 0x20]
add esp, 0xc
movzx eax, byte [esi]
sub eax, 0x84
je 0x5e2b5a
sub eax, 1
je 0x5e2a30
sub eax, 1
je 0x5e2b5a
mov ecx, dword [esp + 8]
push 0
mov edx, dword [ecx + 0x28]
mov dword [esp + 0x24], edx
push edx
lea eax, [edx + 1]
mov edx, 0x64
mov dword [esp + 0x30], eax
inc eax
mov dword [ecx + 0x28], eax
mov ecx, edi
call fcn.005a7580
mov dword [esi + 0x14], eax
add esp, 8
mov eax, dword [esi + 0x38]
mov ecx, esi
test eax, eax
je 0x5e2869
nop dword [eax]
mov ecx, eax
mov eax, dword [ecx + 0x38]
test eax, eax
jne 0x5e2860
or dword [ecx + 4], 0x20
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 8]
mov dword [esp + 0x54], eax
lea eax, [esp + 0x50]
push eax
mov byte [esp + 0x54], 1
mov dword [esp + 0x64], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
call fcn.005e67e0
mov ecx, eax
add esp, 4
mov dword [esp + 0x10], ecx
test ecx, ecx
jne 0x5e2ef6
push eax
push dword [esp + 0x2c]
lea edx, [eax + 0x64]
mov ecx, edi
call fcn.005a7580
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x3c]
movzx ecx, byte [esi]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x30]
mov dword [esi + 0x34], 0
mov dword [esi + 0x3c], 0
mov dword [esp + 0x5c], eax
call fcn.005e0c60
push eax
push 0x7e6148
push 1
push dword [esp + 0x1c]
call fcn.005a7990
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x68]
push eax
mov edx, esi
call fcn.005e67e0
mov dword [esp + 0x2c], eax
add esp, 0x1c
mov eax, dword [esi + 0x34]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x14]
mov dword [esi + 0x34], eax
movzx eax, word [eax + 2]
cmp word [esi + 2], ax
jle 0x5e2930
mov word [esi + 2], ax
mov edx, dword [esi + 0x3c]
test edx, edx
je 0x5e2940
mov ecx, dword [esp + 0xc]
call fcn.005bc390
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x18]
mov dword [esi + 0x3c], eax
mov esi, dword [ecx + 0x38]
dec esi
push esi
mov dword [esp + 0x18], esi
lea eax, [esi - 1]
mov dword [ecx + 0x38], eax
call fcn.005e1e10
add esp, 4
mov edx, 0x25
mov ecx, edi
push esi
push dword [esp + 0x24]
call fcn.005a7580
mov ecx, dword [esp + 0x10]
call fcn.005c2e60
mov esi, eax
mov edx, 0x7e
push esi
push dword [esp + 0x2c]
mov ecx, edi
call fcn.005a7580
mov ecx, dword [esp + 0x2c]
mov edi, eax
mov eax, dword [esp + 0x24]
mov edx, 0x1d
push 0
push esi
dec eax
push eax
push dword [esp + 0x44]
call fcn.005a7a60
mov ecx, dword [esp + 0x28]
mov edx, esi
call fcn.005c2e80
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
push eax
lea esi, [eax - 1]
push esi
lea eax, [esp + 0x58]
push eax
push 0
push 0
push dword [esp + 0x54]
call fcn.005dff10
mov edx, esi
mov esi, dword [esp + 0x54]
mov ecx, esi
call fcn.005a7be0
push edi
mov edi, dword [esp + 0x5c]
mov edx, 5
push edi
mov ecx, esi
call fcn.005a7580
mov edx, dword [esp + 0x54]
add esp, 0x40
mov ecx, esi
call fcn.005a7be0
lea eax, [edi + 1]
mov edx, 0x74
push 0
push eax
mov ecx, esi
call fcn.005a7580
push 0
push edi
mov edx, 0x74
mov ecx, esi
call fcn.005a7580
add esp, 0x10
jmp 0x5e2d48
xor eax, eax
mov edx, ecx
mov dword [esp + 0x28], eax
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x3c]
mov dword [ecx + 0x3c], eax
lea eax, [esp + 0x30]
mov ecx, dword [esp + 8]
push eax
call fcn.005e67e0
mov ecx, eax
mov dword [esi + 0x3c], 0
add esp, 4
mov dword [esp + 0x10], ecx
test ecx, ecx
jne 0x5e2ef6
mov dword [esi + 0x34], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 8]
mov dword [esi + 8], ecx
mov eax, dword [eax + 0xc]
mov dword [esi + 0xc], eax
test ecx, ecx
je 0x5e2ab7
push ecx
mov edx, 0x14
mov ecx, edi
call fcn.005a7520
mov ecx, dword [esi + 0xc]
add esp, 4
mov dword [esp + 0x28], eax
test ecx, ecx
je 0x5e2ab7
push ecx
inc ecx
mov edx, 0x98
push ecx
push dword [esi + 8]
mov ecx, edi
call fcn.005a7450
add esp, 0xc
push 0x7e5ff4
push 1
push dword [esp + 0x10]
call fcn.005a7990
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x3c]
add esp, 0xc
mov edx, esi
push eax
call fcn.005e67e0
mov cx, word [esi + 2]
add esp, 4
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x34]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x14]
mov dword [esi + 0x34], eax
mov dx, word [eax + 2]
call fcn.0058d0a0
mov edx, dword [esp + 0x14]
movzx ecx, ax
mov dword [esp + 0x20], ecx
mov word [esi + 2], ax
mov ecx, dword [edx + 0x3c]
test ecx, ecx
je 0x5e2b40
mov ecx, dword [ecx + 0xc]
lea edx, [esp + 0x2c]
call fcn.005bd760
test eax, eax
je 0x5e2b40
mov eax, dword [esp + 0x2c]
test eax, eax
jle 0x5e2b40
cdq
push edx
push eax
call fcn.0058d110
add esp, 8
cmp word [esp + 0x20], ax
jle 0x5e2b40
mov word [esi + 2], ax
mov eax, dword [esp + 0x28]
test eax, eax
je 0x5e2d4c
mov edx, eax
mov ecx, edi
call fcn.005a7eb0
jmp 0x5e2d4c
cmp byte [esp + 0x30], 1
jne 0x5e2b6b
mov eax, dword [esp + 0x34]
mov dword [esp + 0x20], eax
jmp 0x5e2bb1
mov ecx, dword [esp + 8]
push 0
mov edx, dword [ecx + 0x28]
mov dword [esp + 0x24], edx
push edx
lea eax, [edx + 1]
mov edx, 0x64
mov dword [ecx + 0x28], eax
mov ecx, edi
call fcn.005a7580
mov dword [esi + 0x14], eax
add esp, 8
mov eax, dword [esi + 0x38]
mov ecx, esi
test eax, eax
je 0x5e2ba9
nop word [eax + eax]
mov ecx, eax
mov eax, dword [ecx + 0x38]
test eax, eax
jne 0x5e2ba0
or dword [ecx + 4], 0x20
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 8]
mov ecx, edi
mov edx, dword [esp + 0x14]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x68]
push eax
mov byte [esp + 0x6c], 1
mov dword [esp + 0x7c], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
call fcn.005e67e0
mov ecx, eax
add esp, 4
mov dword [esp + 0x10], ecx
test ecx, ecx
jne 0x5e2ef6
cmp byte [esi], 0x86
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x3c]
mov dword [esp + 0x2c], eax
sete al
mov dword [esi + 0x3c], ecx
inc al
movzx ecx, byte [esi]
mov byte [esp + 0x68], al
call fcn.005e0c60
push eax
push 0x7e6148
push 1
push edi
call fcn.005a7990
lea eax, [esp + 0x78]
mov edx, esi
push eax
mov ecx, edi
call fcn.005e67e0
mov edx, dword [esi + 0x30]
add esp, 0x14
mov dword [esp + 0x10], eax
test edx, edx
je 0x5e2c4b
mov ecx, dword [esp + 0xc]
call fcn.005bd3f0
cmp byte [esi], 0x84
mov eax, dword [esi + 0x34]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x14]
mov dword [esi + 0x34], eax
mov dword [esi + 0x30], 0
jne 0x5e2c76
mov dx, word [eax + 2]
mov cx, word [esi + 2]
call fcn.0058d0a0
mov word [esi + 2], ax
mov edx, dword [esi + 0x3c]
test edx, edx
je 0x5e2c86
mov ecx, dword [esp + 0xc]
call fcn.005bc390
cmp byte [esp + 0x30], 1
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x3c], eax
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
je 0x5e2d50
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x51], 0
jne 0x5e2d50
mov esi, dword [edi + 0x38]
mov eax, dword [esp + 8]
dec esi
mov edx, dword [esp + 0x18]
mov ecx, eax
push esi
mov dword [esp + 0x2c], esi
lea edi, [esi - 1]
mov dword [eax + 0x38], edi
call fcn.005e1e10
add esp, 4
mov edx, 0x25
push esi
push dword [esp + 0x24]
mov esi, dword [esp + 0x24]
mov ecx, esi
call fcn.005a7580
push dword [esp + 0x30]
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x3c]
mov ecx, dword [esp + 0x14]
mov esi, dword [esi + 0x6c]
push edi
push eax
push 0
push 0
push dword [esp + 0x3c]
call fcn.005dff10
mov edx, edi
mov edi, dword [esp + 0x3c]
mov ecx, edi
call fcn.005a7be0
push esi
mov esi, dword [esp + 0x44]
mov edx, 5
push esi
mov ecx, edi
call fcn.005a7580
mov edx, dword [esp + 0x50]
mov ecx, edi
call fcn.005a7be0
push 0
push esi
mov edx, 0x74
mov ecx, edi
call fcn.005a7580
add esp, 0x30
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 8]
cmp dword [esi + 0x38], 0
jne 0x5e2d90
mov ecx, dword [edi + 0xd4]
test ecx, ecx
jne 0x5e2d64
xor eax, eax
jmp 0x5e2d8a
mov edx, dword [edi + 8]
test ecx, ecx
jns 0x5e2d6f
mov ecx, dword [edx + 0x6c]
dec ecx
mov eax, dword [edx]
cmp byte [eax + 0x51], 0
je 0x5e2d7e
mov eax, 0x85e278
jmp 0x5e2d87
mov eax, dword [edx + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov eax, dword [eax + 8]
mov dword [edi + 0xd4], eax
cmp dword [edi + 0x24], 0
jne 0x5e2ef6
test byte [esi + 4], 0x20
je 0x5e2ef6
mov eax, dword [esi + 0x1c]
mov ecx, dword [esp + 0xc]
push 1
mov edx, dword [eax]
mov dword [esp + 0x24], edx
call fcn.005e0b30
mov edi, eax
add esp, 4
mov dword [esp + 0x2c], edi
test edi, edi
jne 0x5e2dcd
lea esi, [eax + 7]
jmp 0x5e2efa
mov edx, dword [esp + 0x20]
lea eax, [edi + 0x14]
mov dword [esp + 0x14], eax
xor eax, eax
mov dword [esp + 0x28], eax
test edx, edx
jle 0x5e2e30
mov edi, dword [esp + 8]
push eax
mov edx, esi
mov ecx, edi
call fcn.005e1f50
mov ecx, dword [esp + 0x18]
add esp, 4
mov dword [ecx], eax
test eax, eax
jne 0x5e2e06
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 8]
mov dword [ecx], eax
mov eax, dword [esp + 0x28]
add ecx, 4
mov edx, dword [esp + 0x20]
inc eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], ecx
cmp eax, edx
jl 0x5e2de6
mov edi, dword [esp + 0x2c]
nop dword [eax]
nop word [eax + eax]
lea eax, [esi + 0x14]
mov dword [esp + 0x28], 0
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
mov eax, dword [eax]
test eax, eax
js 0x5e2ed4
lea ecx, [eax + eax*4]
mov eax, dword [esi]
shl ecx, 2
cmp byte [eax + 0x51], 0
je 0x5e2e62
mov eax, 0x85e278
jmp 0x5e2e67
mov eax, dword [esi + 0x68]
add eax, ecx
mov dword [eax + 8], edx
inc dword [edi]
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x5e2e8a
push edi
mov edx, 0xfffffff7
mov ecx, eax
call fcn.005a7f30
mov edx, dword [esp + 0x24]
add esp, 4
jmp 0x5e2eb1
mov eax, dword [esi + 0x68]
add eax, ecx
cmp byte [eax + 1], 0
je 0x5e2eaa
push 0xfffffffffffffff7
push edi
mov edx, eax
mov ecx, esi
call fcn.005a80d0
mov edx, dword [esp + 0x28]
add esp, 8
jmp 0x5e2eb1
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xf7
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
inc ecx
mov dword [esp + 0x28], ecx
mov dword [eax], 0xffffffff
add eax, 4
mov dword [esp + 0x14], eax
cmp ecx, 2
jl 0x5e2e43
mov esi, dword [esp + 0x18]
mov esi, dword [esi + 0x34]
mov dword [esp + 0x18], esi
test esi, esi
jne 0x5e2e30
add dword [edi], 0xffffffff
jne 0x5e2ef6
mov ecx, dword [edi + 0xc]
mov edx, edi
call fcn.00588a20
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0xc]
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x38]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x24]
test eax, eax
je 0x5e2f25
push 1
mov edx, eax
mov ecx, edi
call fcn.005df050
add esp, 4
pop edi
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret
movzx eax, byte [esi]
sub eax, 0x85
je 0x5e2f56
sub eax, 1
je 0x5e2f4f
sub eax, 1
je 0x5e2f48
mov eax, 0x7e5fec
jmp 0x5e2f5b
mov eax, 0x7e6000
jmp 0x5e2f5b
mov eax, 0x7e5fe4
jmp 0x5e2f5b
mov eax, 0x7e5ff4
push eax
test edx, edx
mov eax, 0x7e613c
mov esi, 0x7e60f0
cmove eax, esi
push eax
push 0x7e60f8
push ecx
call fcn.0058bd80
add esp, 0x10
mov esi, 1
jmp 0x5e2efe