Function at 0x477a10
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 [0x591014]
xor ecx, ebp
mov dword [esp + 0x118], ecx
lea esi, [esp + 0x5c]
mov dword [esi], 0xffffffff
push eax
push esi
call fcn.0047ac70
add esp, 8
mov ecx, dword [esi]
test ecx, ecx
je 0x477a66
lea eax, [esp + 0x58]
mov dword [eax], 0
push eax
call fcn.00528410
test eax, eax
je 0x477a6d
xor ebx, ebx
jmp 0x477d1e
xor ebx, ebx
jmp 0x477d55
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x90], xmm0
mov ecx, dword [esp + 0x5c]
call fcn.004791f0
test eax, eax
je 0x477a96
lea edx, [esp + 0x90]
mov ecx, eax
push edx
call fcn.00537bf0
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.004a1c30
push esi
call fcn.0044abe0
add esp, 4
test al, al
je 0x477cb9
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.00449610
mov ecx, edi
call fcn.00454700
test al, al
je 0x477d0a
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 + 0x78]
mov dword [eax], 0x43500001
mov dword [eax + 4], 0x34
mov dword [eax + 8], ecx
lea edi, [esp + 0x70]
mov dword [edi], edx
mov dword [edi + 4], eax
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x30]
call fcn.00454710
mov esi, eax
mov ecx, ebx
call fcn.004550e0
mov ebx, eax
mov ecx, dword [ebp + 8]
call fcn.004550c0
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 0x477d0a
pxor xmm0, xmm0
movdqa xmmword [esp + 0x60], xmm0
lea edx, [esp + 0xe0]
movdqa xmmword [edx + 0x10], xmm0
movdqa xmmword [edx], xmm0
xor eax, eax
lea ecx, [esp + 0x30]
push 0x20
push edx
push eax
push eax
call fcn.004aab40
cmp eax, 0x20
jne 0x477c12
cmp dword [esp + 0xe0], 0x504d444d
jne 0x477c12
mov edx, dword [esp + 0xe8]
test edx, edx
je 0x477c12
lea esi, [esp + 0x64]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov edi, ecx
sub edi, eax
sar edi, 2
imul ebx, edi, 0xaaaaaaab
mov edi, edx
sub edi, ebx
ja 0x477d6d
jae 0x477be1
lea ecx, [edx + edx*2]
lea ecx, [eax + ecx*4]
mov dword [esp + 0x68], ecx
cmp ecx, eax
je 0x47823d
mov ecx, dword [esp + 0xe8]
shl ecx, 2
lea edi, [ecx + ecx*2]
lea ecx, [esp + 0x30]
push edi
push eax
push 0
push dword [esp + 0xf8]
call fcn.004aab40
cmp eax, edi
je 0x477d82
xor esi, esi
mov eax, dword [esp + 0x64]
test eax, eax
je 0x477c29
mov dword [esp + 0x68], eax
push eax
call fcn.004c5c98
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 + 0x59af58]
bt edx, ecx
jae 0x477c4c
push eax
call fcn.004a39b0
add esp, 4
xor ebx, ebx
mov eax, esi
test al, al
je 0x477d0c
mov eax, dword [esp + 0x58]
mov esi, dword [eax]
lea ecx, [esp + 0x30]
push ebx
push ebx
push ebx
call fcn.0050fc50
and edx, eax
cmp edx, 0xffffffff
je 0x477d0c
mov ebx, 0x400
push ebx
call fcn.004c5c68
add esp, 4
mov edi, eax
push ebx
push 0
push eax
call fcn.004c9370
add esp, 0xc
lea ebx, [esp + 0x30]
mov ecx, ebx
push 0x400
push edi
call fcn.004aac70
test eax, eax
js 0x477cb5
je 0x477cbd
mov ecx, esi
push eax
push edi
call fcn.00538e80
test al, al
jne 0x477c95
xor ebx, ebx
jmp 0x477cbf
xor ebx, ebx
jmp 0x477d15
mov bl, 1
test edi, edi
je 0x477ccc
push edi
call fcn.004c5c98
add esp, 4
test bl, bl
je 0x477d0a
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.00528510
test eax, eax
sete bl
jmp 0x477d0c
xor ebx, ebx
lea ecx, [esp + 0x30]
call fcn.004a1bf0
lea ecx, [esp + 0x4c]
call fcn.004a1da0
mov esi, dword [esp + 0x58]
mov dword [esp + 0x58], 0
test esi, esi
je 0x477d3e
mov ecx, esi
call fcn.00538040
push esi
call fcn.004c5c98
add esp, 4
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x5c], 0
test ecx, ecx
je 0x477d55
push 1
call fcn.0047acd0
mov ecx, dword [esp + 0x118]
xor ecx, ebp
call fcn.004c66e3
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, esi
push edi
call fcn.00528210
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
jmp 0x477be1
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x68]
cmp edx, eax
je 0x477d9c
cmp dword [edx], 0
je 0x477e62
add edx, 0xc
jmp 0x477d8a
mov edx, eax
lea edi, [esp + 0x8c]
mov ecx, esi
push eax
push edx
push edi
call fcn.0050d370
mov eax, dword [esp + 0x64]
mov esi, dword [esp + 0x68]
mov ecx, esi
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov dword [esp + 0xe4], 0xa793
mov dword [esp + 0xe8], ecx
sub esi, eax
je 0x47823d
lea ecx, [esp + 0x30]
push esi
push eax
push 0
push dword [esp + 0xf8]
call fcn.004aad70
cmp eax, esi
jne 0x477c12
xor eax, eax
lea esi, [esp + 0x30]
mov ecx, esi
push 0x20
lea edx, [esp + 0xe4]
push edx
push eax
push eax
call fcn.004aad70
cmp eax, 0x20
jne 0x477c12
mov eax, dword [esp + 0x60]
mov ecx, eax
shr ecx, 0xe
mov edx, eax
shr edx, 0x13
mov edx, dword [edx*4 + 0x59af58]
bt edx, ecx
jae 0x477e3f
push eax
call fcn.004a39b0
add esp, 4
mov eax, esi
shr eax, 0xe
mov ecx, esi
shr ecx, 0x11
and ecx, 0xfffffffc
mov ecx, dword [ecx + 0x59af58]
bt ecx, eax
jae 0x477e93
push esi
call fcn.004a3890
add esp, 4
jmp 0x477e9f
lea ecx, [edx + 0xc]
cmp ecx, eax
je 0x477d9e
cmp dword [ecx], 0
je 0x477e83
mov edi, dword [ecx + 8]
mov dword [edx + 8], edi
movq xmm0, qword [ecx]
movq qword [edx], xmm0
add edx, 0xc
add ecx, 0xc
cmp ecx, eax
jne 0x477e6d
mov eax, dword [esp + 0x68]
jmp 0x477d9e
mov eax, esi
shr eax, 0x15
mov byte [eax + 0x5a2f58], 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 0x477c12
mov ebx, dword [ebp + 0x14]
cmp dword [eax], 0x43500001
je 0x477ef4
add eax, 0xc
cmp eax, ecx
jne 0x477ee0
jmp 0x477c12
cmp dword [eax + 4], 0x34
jne 0x477c12
mov eax, dword [eax + 8]
mov dword [esp + 0x24], eax
test eax, eax
je 0x477c12
lea ecx, [esp + 0x30]
push 0x34
lea eax, [esp + 0xe4]
push eax
push 0
push dword [esp + 0x30]
call fcn.004aab40
xor esi, esi
cmp eax, 0x34
jne 0x477c14
cmp dword [esp + 0xe0], 1
jne 0x477c14
mov ecx, dword [esp + 0x60]
xor eax, eax
push eax
xor esi, esi
push eax
push 2
call fcn.0050fc50
mov dword [esp + 0x1c], eax
and eax, edx
cmp eax, 0xffffffff
je 0x477c14
test edx, edx
jg 0x477c14
mov eax, ebx
mov esi, dword [ebx]
mov dword [esp + 0x8c], esi
add eax, 4
mov dword [esp + 0x28], eax
cmp esi, eax
je 0x4781a3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 0x14], 0
movzx eax, byte [esi + 0x27]
test al, al
jns 0x477fa4
mov eax, dword [esi + 0x20]
test eax, eax
je 0x478184
movzx eax, byte [esi + 0x1b]
test al, al
jns 0x477fb7
mov eax, dword [esi + 0x14]
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0x60]
push 4
lea eax, [esp + 0x8c]
push eax
call fcn.00454740
mov ecx, dword [esp + 0x1c]
lea ebx, [ecx + 4]
cmp eax, 0xffffffff
cmove ebx, ecx
je 0x47825b
lea eax, [esi + 0x10]
cmp byte [esi + 0x1b], 0
jns 0x477fef
mov eax, dword [eax]
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x10], ecx
test ecx, ecx
js 0x47825b
mov ecx, dword [esp + 0x60]
push dword [esp + 0x10]
push eax
call fcn.00454740
cmp eax, 0xffffffff
je 0x47825b
add dword [esp + 0x10], ebx
movzx eax, byte [esi + 0x27]
test al, al
jns 0x478028
mov eax, dword [esi + 0x20]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0x60]
push 4
lea eax, [esp + 0x88]
push eax
call fcn.00454740
mov ecx, dword [esp + 0x10]
lea ebx, [ecx + 4]
cmp eax, 0xffffffff
cmove ebx, ecx
je 0x47825b
lea eax, [esi + 0x1c]
cmp byte [esi + 0x27], 0
jns 0x478060
mov eax, dword [eax]
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x20], ecx
test ecx, ecx
js 0x47825b
mov ecx, dword [esp + 0x60]
push dword [esp + 0x20]
push eax
call fcn.00454740
cmp eax, 0xffffffff
je 0x47825b
mov eax, dword [esp + 0x14]
cmp dword [esp + 8], eax
jne 0x478164
mov esi, dword [esp + 8]
sub esi, dword [esp + 0xc]
mov dword [esp + 8], esi
sar esi, 3
lea eax, [esi + 1]
cmp eax, 0x20000000
jae 0x478279
mov ecx, dword [esp + 8]
mov edx, ecx
sar edx, 2
cmp edx, eax
cmovbe edx, eax
cmp ecx, 0x7ffffff8
mov eax, 0x1fffffff
cmovae edx, eax
mov dword [esp + 0x18], 0
mov eax, edx
mov dword [esp + 0x14], edx
test edx, edx
je 0x478109
cmp dword [esp + 0x14], 0x20000000
jae 0x47827e
mov eax, dword [esp + 0x14]
lea eax, [eax*8]
push eax
call fcn.004c5c68
add esp, 4
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x18]
lea ecx, [edx + esi*8]
mov eax, dword [esp + 0x10]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], ecx
mov dword [ecx], eax
push dword [esp + 8]
mov esi, dword [esp + 0x10]
push esi
push edx
call fcn.004c8df0
add esp, 0xc
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
lea eax, [ecx + eax*8]
mov dword [esp + 0x14], eax
test esi, esi
je 0x478152
push dword [esp + 0xc]
call fcn.004c5c98
add esp, 4
mov eax, dword [esp + 0x10]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xc], eax
jmp 0x478175
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x10]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0x20]
add eax, ebx
add dword [esp + 8], 8
mov dword [esp + 0x1c], eax
lea ecx, [esp + 0x8c]
call fcn.0050a3d0
mov esi, dword [esp + 0x8c]
cmp esi, dword [esp + 0x28]
jne 0x477f99
jmp 0x4781b3
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 8]
sub eax, dword [esp + 0xc]
sar eax, 3
mov dword [esp + 0x8c], eax
mov ecx, dword [esp + 0x60]
push 4
push edi
call fcn.00454740
cmp eax, 0xffffffff
je 0x47825b
mov eax, dword [esp + 8]
cmp eax, dword [esp + 0xc]
je 0x47823d
mov esi, dword [esp + 0x8c]
shl esi, 3
test esi, esi
js 0x47825b
mov ecx, dword [esp + 0x60]
push esi
push dword [esp + 0x10]
call fcn.00454740
cmp eax, 0xffffffff
je 0x47825b
or esi, 4
mov dword [esp + 0x104], esi
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x108], eax
mov ecx, dword [esp + 0x60]
push 0x34
lea eax, [esp + 0xe4]
push eax
push 0
push dword [esp + 0x30]
call fcn.004aad70
cmp eax, 0x34
sete al
mov esi, eax
jmp 0x47825d
push str.vector___index_out_of_bounds
push str.__n___size__
push 0x587
push str....._buildtools_third_partylibc_trunkinclude_vector
push str._s:_d:_assertion__s_failed:__s
call fcn.004f96d0
xor esi, esi
cmp dword [esp + 0xc], 0
je 0x477c14
push dword [esp + 0xc]
call fcn.004c5c98
add esp, 4
jmp 0x477c14
call fcn.004da990
call fcn.004f73e0
int3