Function at 0x591540
Capabilities:
Create process memory minidump

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x120
mov eax, dword [ebp + 0x18]
mov ecx, dword [0x7aa024]
xor ecx, ebp
mov dword [esp + 0x118], ecx
lea esi, [esp + 0x5c]
mov dword [esi], 0xffffffff
push eax
push esi
call fcn.005913c0
add esp, 8
mov ecx, dword [esi]
test ecx, ecx
je 0x591596
lea eax, [esp + 0x58]
mov dword [eax], 0
push eax
call fcn.006e2ea0
test eax, eax
je 0x59159d
xor ebx, ebx
jmp 0x591cd0
xor ebx, ebx
jmp 0x591d07
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x90], xmm0
mov ecx, dword [esp + 0x5c]
call fcn.0058f9d0
test eax, eax
je 0x5915c6
lea edx, [esp + 0x90]
mov ecx, eax
push edx
call fcn.006e2810
xor eax, eax
dec eax
lea esi, [esp + 0x4c]
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov ecx, esi
call fcn.005e1850
push esi
call fcn.005404f0
add esp, 4
test al, al
je 0x591762
pcmpeqd xmm0, xmm0
lea edi, [esp + 0x30]
movdqu xmmword [edi + 0xc], xmm0
movdqa xmmword [edi], xmm0
mov ecx, edi
push 0x2061
push esi
call fcn.0053f120
mov ecx, edi
call fcn.005f1720
test al, al
je 0x591cbc
mov eax, dword [esp + 0x58]
pxor xmm0, xmm0
lea ecx, [esp + 0xac]
movdqu xmmword [ecx + 0x24], xmm0
xor edx, edx
inc edx
mov dword [ecx], edx
movaps xmm0, xmmword [esp + 0x90]
movups xmmword [ecx + 0x14], xmm0
movdqu xmm0, xmmword [eax + 0x34]
movdqu xmmword [ecx + 4], xmm0
lea eax, [esp + 0x7c]
mov dword [eax], 0x43500001
mov dword [eax + 4], 0x34
mov dword [eax + 8], ecx
lea edi, [esp + 0x74]
mov dword [edi], edx
mov dword [edi + 4], eax
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x30]
call fcn.0054e4f0
mov esi, eax
mov ecx, ebx
call fcn.0054fbf0
mov ebx, eax
mov ecx, dword [ebp + 8]
call fcn.005f1cd0
push 0
push edi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
push ebx
push eax
call sub.dbghelp.dll_MiniDumpWriteDump
test eax, eax
je 0x591cbc
pxor xmm0, xmm0
movdqa xmmword [esp + 0x60], xmm0
lea ebx, [esp + 0xe0]
movdqa xmmword [ebx + 0x10], xmm0
movdqa xmmword [ebx], xmm0
xor eax, eax
lea ecx, [esp + 0x30]
push 0x20
push ebx
push eax
push eax
call fcn.005f1820
cmp eax, 0x20
jne 0x591bc8
cmp dword [esp + 0xe0], 0x504d444d
jne 0x591bc8
mov eax, dword [esp + 0xe8]
test eax, eax
je 0x591bc8
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
sub ecx, edx
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov edi, eax
sub edi, ecx
ja 0x5917ba
jae 0x59171a
lea ecx, [eax + eax*2]
lea ecx, [edx + ecx*4]
mov dword [esp + 0x68], ecx
mov edi, ebx
shl eax, 2
lea esi, [eax + eax*2]
lea ecx, [esp + 0x30]
push esi
push edx
push 0
push dword [esp + 0xf8]
call fcn.005f1820
cmp eax, esi
jne 0x591bc8
mov eax, dword [esp + 0x64]
mov esi, dword [esp + 0x68]
mov ecx, esi
cmp eax, esi
je 0x59175e
mov edi, eax
cmp dword [edi], 0
je 0x591769
add edi, 0xc
cmp edi, esi
jne 0x59174e
mov ecx, eax
mov edi, ebx
mov eax, ecx
jmp 0x5917de
xor ebx, ebx
jmp 0x591cc7
lea ecx, [edi + 0xc]
cmp ecx, esi
je 0x591795
cmp dword [ecx], 0
je 0x591786
mov eax, dword [ecx + 8]
mov dword [edi + 8], eax
movq xmm0, qword [ecx]
movq qword [edi], xmm0
add edi, 0xc
add ecx, 0xc
cmp ecx, esi
jne 0x591770
mov eax, dword [esp + 0x64]
mov esi, dword [esp + 0x68]
cmp edi, esi
je 0x5917b6
mov ecx, esi
sub ecx, edi
add ecx, edi
sub esi, ecx
je 0x5917d4
push esi
push ecx
push edi
call fcn.00650080
add esp, 0xc
mov ecx, dword [esp + 0x64]
mov eax, ecx
jmp 0x5917d6
mov ecx, eax
jmp 0x5917dc
lea esi, [esp + 0x64]
mov ecx, esi
push edi
call fcn.006e3e20
mov eax, dword [esp + 0xe8]
mov edx, dword [esi]
jmp 0x59171a
mov ecx, eax
add esi, edi
mov dword [esp + 0x68], esi
mov edi, ebx
sub esi, ecx
mov dword [esp + 0xe4], 0xa793
mov ecx, esi
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov dword [esp + 0xe8], ecx
lea ecx, [esp + 0x30]
push esi
push eax
push 0
push dword [esp + 0xf8]
call fcn.005f1a50
cmp eax, esi
jne 0x591bc8
xor eax, eax
lea esi, [esp + 0x30]
mov ecx, esi
push 0x20
push edi
push eax
push eax
call fcn.005f1a50
cmp eax, 0x20
jne 0x591bc8
mov eax, dword [esp + 0x60]
mov ecx, eax
shr ecx, 0xe
mov edx, eax
shr edx, 0x13
mov edx, dword [edx*4 + 0x7b1224]
bt edx, ecx
jae 0x591857
push eax
call fcn.005e5140
add esp, 4
mov eax, esi
shr eax, 0xe
mov ecx, esi
shr ecx, 0x11
and ecx, 0xfffffffc
mov ecx, dword [ecx + 0x7b1224]
bt ecx, eax
jae 0x59187a
push esi
call fcn.005e5030
add esp, 4
jmp 0x591886
mov eax, esi
shr eax, 0x15
mov byte [eax + 0x7b9224], 1
mov dword [esp + 0x60], esi
pxor xmm0, xmm0
movdqa xmmword [esp + 0x100], xmm0
movdqa xmmword [esp + 0xf0], xmm0
movdqa xmmword [esp + 0xe0], xmm0
mov dword [esp + 0x110], 0
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
cmp eax, ecx
je 0x591bc8
mov esi, dword [ebp + 0x14]
cmp dword [eax], 0x43500001
je 0x5918db
add eax, 0xc
cmp eax, ecx
jne 0x5918c7
jmp 0x591bc8
cmp dword [eax + 4], 0x34
jne 0x591bc8
mov eax, dword [eax + 8]
test eax, eax
je 0x591bc8
lea ecx, [esp + 0x30]
push 0x34
push edi
push 0
mov dword [esp + 0x30], eax
push eax
call fcn.005f1820
xor edi, edi
cmp eax, 0x34
jne 0x591bca
cmp dword [esp + 0xe0], 1
jne 0x591bca
mov ecx, dword [esp + 0x60]
xor eax, eax
push eax
xor edi, edi
push eax
push 2
call fcn.006a8600
mov dword [esp + 0x18], eax
and eax, edx
cmp eax, 0xffffffff
je 0x591bca
test edx, edx
jg 0x591bca
mov eax, esi
mov esi, dword [esi]
add eax, 4
mov dword [esp + 0x28], eax
cmp esi, eax
je 0x591d1f
mov dword [esp + 4], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
movzx eax, byte [esi + 0x27]
test al, al
jns 0x59197a
mov eax, dword [esi + 0x20]
test eax, eax
je 0x591b90
lea eax, [esi + 0x10]
mov dword [esp + 0xc], eax
movzx eax, byte [eax + 0xb]
test al, al
jns 0x591994
mov eax, dword [esi + 0x14]
mov dword [esp + 0x8c], eax
mov ecx, dword [esp + 0x60]
push 4
lea eax, [esp + 0x90]
push eax
call fcn.0054e500
mov ecx, dword [esp + 0x18]
lea edi, [ecx + 4]
cmp eax, 0xffffffff
cmove edi, ecx
je 0x591da6
mov eax, dword [esp + 0xc]
cmp byte [eax + 0xb], 0
jns 0x5919d5
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x8c]
test eax, eax
js 0x591da6
mov ecx, dword [esp + 0x60]
push eax
push dword [esp + 0x10]
mov dword [esp + 0x14], eax
call fcn.0054e500
mov ecx, dword [esp + 0xc]
cmp eax, 0xffffffff
je 0x591da6
lea eax, [esi + 0x1c]
add ecx, edi
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
movzx eax, byte [eax + 0xb]
test al, al
jns 0x591a1b
mov eax, dword [esi + 0x20]
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0x60]
push 4
lea eax, [esp + 0x8c]
push eax
call fcn.0054e500
mov ecx, dword [esp + 0xc]
lea edi, [ecx + 4]
cmp eax, 0xffffffff
cmove edi, ecx
je 0x591da6
mov eax, dword [esp + 8]
cmp byte [eax + 0xb], 0
jns 0x591a5c
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x20], eax
test eax, eax
js 0x591da6
mov ecx, dword [esp + 0x60]
push dword [esp + 0x20]
push dword [esp + 0xc]
call fcn.0054e500
cmp eax, 0xffffffff
je 0x591da6
mov ecx, dword [esp + 0x10]
cmp ecx, dword [esp + 0x14]
je 0x591aa5
mov eax, dword [esp + 0xc]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x18]
mov dword [ecx], eax
jmp 0x591b81
sub ecx, dword [esp + 4]
mov dword [esp + 0x10], ecx
sar ecx, 3
mov eax, ecx
mov dword [esp + 0x1c], ecx
lea eax, [ecx + 1]
cmp eax, 0x20000000
jae 0x591dc4
mov ecx, dword [esp + 0x10]
mov edx, ecx
sar edx, 2
cmp edx, eax
cmovbe edx, eax
cmp ecx, 0x7ffffff8
mov eax, 0x1fffffff
cmovae edx, eax
mov eax, edx
mov dword [esp + 0x14], edx
test edx, edx
je 0x591b12
cmp dword [esp + 0x14], 0x20000000
jae 0x591dc9
mov eax, dword [esp + 0x14]
lea eax, [eax*8]
push eax
call fcn.0064cd3e
add esp, 4
mov dword [esp + 8], eax
jmp 0x591b1a
mov dword [esp + 8], 0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 8]
mov dword [edx + ecx*8 + 4], eax
mov eax, dword [esp + 0x18]
mov dword [edx + ecx*8], eax
cmp dword [esp + 0x10], 0
jle 0x591b4c
push dword [esp + 0x10]
push dword [esp + 8]
push dword [esp + 0x10]
call fcn.00650080
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 8]
lea eax, [ecx + eax*8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
lea eax, [ecx + eax*8]
mov dword [esp + 0x14], eax
cmp dword [esp + 4], 0
je 0x591b79
push dword [esp + 4]
call fcn.0064cd6e
add esp, 4
mov eax, dword [esp + 8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x20]
add eax, edi
add dword [esp + 0x10], 8
mov dword [esp + 0x18], eax
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x591ba1
mov eax, ecx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x591b97
jmp 0x591bb7
mov eax, dword [esi + 8]
cmp dword [eax], esi
je 0x591bb7
add esi, 8
mov ecx, dword [esi]
lea esi, [ecx + 8]
mov eax, dword [ecx + 8]
cmp dword [eax], ecx
jne 0x591bab
mov esi, eax
cmp eax, dword [esp + 0x28]
jne 0x59196f
jmp 0x591d2f
xor edi, edi
mov eax, dword [esp + 0x64]
test eax, eax
je 0x591bdf
mov dword [esp + 0x68], eax
push eax
call fcn.0064cd6e
add esp, 4
mov eax, dword [esp + 0x60]
mov ecx, eax
shr ecx, 0xe
mov edx, eax
shr edx, 0x13
mov edx, dword [edx*4 + 0x7b1224]
bt edx, ecx
jae 0x591c02
push eax
call fcn.005e5140
add esp, 4
xor ebx, ebx
mov eax, edi
test al, al
je 0x591cbe
mov eax, dword [esp + 0x58]
mov esi, dword [eax]
lea ecx, [esp + 0x30]
push ebx
push ebx
push ebx
call fcn.006a8600
and edx, eax
cmp edx, 0xffffffff
je 0x591cbe
mov ebx, 0x400
push ebx
call fcn.0064cd3e
add esp, 4
mov edi, eax
push ebx
push 0
push eax
call fcn.00650600
add esp, 0xc
lea ebx, [esp + 0x30]
mov ecx, ebx
push 0x400
push edi
call fcn.005f1950
test eax, eax
js 0x591c6b
je 0x591c6f
mov ecx, esi
push eax
push edi
call fcn.006f2b90
test al, al
jne 0x591c4b
xor ebx, ebx
jmp 0x591c71
mov bl, 1
test edi, edi
je 0x591c7e
push edi
call fcn.0064cd6e
add esp, 4
test bl, bl
je 0x591cbc
pxor xmm0, xmm0
movdqa xmmword [esp + 0xe0], xmm0
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x58], 0
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0xe0]
push edx
push eax
call fcn.006e2fa0
test eax, eax
sete bl
jmp 0x591cbe
xor ebx, ebx
lea ecx, [esp + 0x30]
call fcn.005e1810
lea ecx, [esp + 0x4c]
call fcn.005e1990
mov esi, dword [esp + 0x58]
mov dword [esp + 0x58], 0
test esi, esi
je 0x591cf0
mov ecx, esi
call fcn.006f1c90
push esi
call fcn.0064cd6e
add esp, 4
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x5c], 0
test ecx, ecx
je 0x591d07
push 1
call fcn.00591420
mov ecx, dword [esp + 0x118]
xor ecx, ebp
call fcn.0064d372
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x10], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 0x10]
sub ecx, dword [esp + 4]
sar ecx, 3
lea eax, [esp + 0x8c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x60]
push 4
push eax
call fcn.0054e500
cmp eax, 0xffffffff
je 0x591da6
mov esi, dword [esp + 0x8c]
shl esi, 3
test esi, esi
js 0x591da6
mov ecx, dword [esp + 0x60]
push esi
push dword [esp + 8]
call fcn.0054e500
cmp eax, 0xffffffff
je 0x591da6
or esi, 4
mov dword [esp + 0x104], esi
mov eax, dword [esp + 0x18]
mov dword [esp + 0x108], eax
mov ecx, dword [esp + 0x60]
push 0x34
push ebx
push 0
push dword [esp + 0x30]
call fcn.005f1a50
cmp eax, 0x34
sete al
mov edi, eax
jmp 0x591da8
xor edi, edi
cmp dword [esp + 4], 0
je 0x591bca
push dword [esp + 4]
call fcn.0064cd6e
add esp, 4
jmp 0x591bca
call fcn.006626d0
call fcn.0067fe60
int3