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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x240
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov esi, ecx
cmp edi, eax
jae 0x5118c4
mov byte [esi + 8], 0x13
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], 0
mov dword [esi], 0
jmp 0x51254f
add edx, eax
sub edi, eax
mov dword [esp + 0x44], 8
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x3c], esi
mov dword [esp + 0x20], edx
je 0x51227b
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], edi
mov ebx, edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x40], 0
xor esi, esi
xor ecx, ecx
nop dword [eax + eax]
movzx edx, byte [edi]
cmp ecx, 0x3f
jne 0x511931
cmp dl, 2
jae 0x51227d
mov eax, edx
mov dword [esp + 0xc], edi
mov dword [esp + 0x24], ebx
mov byte [esp + 0x2c], dl
mov edx, esi
mov esi, 0
and al, 0x7f
mov ebx, dword [esp + 0x24]
movzx edi, al
xor eax, eax
shld eax, edi, cl
shl edi, cl
test cl, 0x20
cmovne eax, edi
cmovne edi, esi
mov esi, dword [esp + 0xc]
or edx, eax
or dword [esp + 0x40], edi
cmp byte [esp + 0x2c], 0
lea eax, [ebx - 1]
lea edi, [esi + 1]
jns 0x511986
add ecx, 7
test eax, eax
mov ebx, eax
mov esi, edx
jne 0x511920
jmp 0x512286
mov ecx, dword [esp + 0x40]
or ecx, edx
je 0x512324
test eax, eax
je 0x51234d
lea edi, [ebx - 2]
mov ebx, dword [esp + 0xc]
mov esi, edx
mov dword [esp + 0xd0], esi
movzx eax, byte [ebx + 1]
add ebx, 2
mov ecx, eax
and ecx, 0x7f
test al, al
mov dword [esp + 0x34], ecx
jns 0x511a27
test edi, edi
je 0x51237b
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x24]
movzx eax, byte [edx + 2]
movzx ebx, bx
lea edi, [esi - 3]
mov ecx, eax
and ecx, 0x7f
shl ecx, 7
or ebx, ecx
test al, al
mov dword [esp + 0x34], ebx
lea ebx, [edx + 3]
jns 0x511a27
test edi, edi
je 0x51237b
movzx eax, byte [ebx]
cmp ax, 3
ja 0x512557
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x24]
movzx eax, ax
shl eax, 0xe
movzx ecx, cx
add ebx, 4
add edi, 0xfffffffc
or ecx, eax
mov dword [esp + 0x34], ecx
cmp word [esp + 0x34], 0
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
je 0x51236a
test edi, edi
je 0x512383
movzx eax, byte [ebx]
cmp al, 2
jae 0x51236e
inc ebx
dec edi
xorps xmm0, xmm0
mov byte [esp + 0x33], al
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0x80], 0
movaps xmmword [esp + 0x70], xmm0
test edi, edi
je 0x512304
movzx eax, byte [ebx]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], edx
lea edx, [edi - 1]
mov ecx, eax
and ecx, 0x7f
test al, al
mov dword [esp + 0x24], ecx
lea ecx, [ebx + 1]
jns 0x511b70
test edx, edx
je 0x5122da
movzx eax, byte [ebx + 1]
mov edx, dword [esp + 0x24]
mov ecx, eax
movzx edx, dx
and ecx, 0x7f
shl ecx, 7
or edx, ecx
mov ecx, edi
test al, al
lea ecx, [ebx + 2]
mov dword [esp + 0x24], edx
lea edx, [edi - 2]
jns 0x511b70
test edx, edx
je 0x5122da
movzx eax, byte [ecx]
cmp ax, 3
ja 0x51238f
mov ecx, dword [esp + 0x24]
movzx eax, ax
mov edx, edi
add ebx, 3
shl eax, 0xe
add edx, 0xfffffffd
movzx ecx, cx
or ecx, eax
mov dword [esp + 0x24], ecx
mov ecx, ebx
cmp word [esp + 0x24], 0
mov dword [esp + 0x1c], esi
je 0x511ed6
test edx, edx
je 0x5122da
movzx ebx, byte [ecx]
lea edi, [edx - 1]
mov eax, ebx
and eax, 0x7f
test bl, bl
lea ebx, [ecx + 1]
js 0x511bd3
mov dword [esp + 0x28], edi
cmp ax, 0x21
je 0x511c04
movzx edx, ax
test edx, edx
je 0x512359
movzx eax, word [esp + 0x24]
mov ecx, 0xffffffff
shl edx, 0x10
xor esi, esi
xor edi, edi
and dword [esp + 0x38], ecx
xor ecx, ecx
or edx, eax
mov dword [esp + 0x18], edx
xor edx, edx
jmp 0x511cfa
test edi, edi
je 0x512372
movzx ebx, byte [ecx + 1]
movzx eax, ax
mov esi, ebx
and esi, 0x7f
shl esi, 7
or eax, esi
test bl, bl
lea esi, [edx - 2]
lea ebx, [ecx + 2]
js 0x511e57
mov dword [esp + 0x28], esi
cmp ax, 0x21
jne 0x511ba4
mov eax, dword [esp + 0x28]
test eax, eax
je 0x512361
lea edx, [eax - 1]
mov dword [esp + 0x20], ebx
lea esi, [ebx + 1]
xor edi, edi
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x2c], edx
mov dh, byte [esi - 1]
cmp ecx, 0x3f
mov dword [esp + 0xc], edi
jne 0x511c40
movzx ebx, dh
cmp ebx, 0x7f
je 0x511c40
test ebx, ebx
jne 0x5122cb
mov bl, dh
mov dword [esp + 0x10], edx
xor edx, edx
mov edi, 0
and bl, 0x7f
movzx ebx, bl
shld edx, ebx, cl
shl ebx, cl
test cl, 0x20
cmovne edx, ebx
cmovne ebx, edi
mov edi, dword [esp + 0xc]
add ecx, 7
or eax, edx
mov edx, dword [esp + 0x10]
or edi, ebx
test dh, dh
jns 0x511c83
mov edx, dword [esp + 0x2c]
inc esi
add edx, 0xffffffff
jb 0x511c20
jmp 0x5122a1
cmp ecx, 0x40
mov ebx, 0xffffffff
mov dword [esp + 0xc], edi
mov edi, 0
setl byte [esp + 0x20]
and dh, 0x40
shl ebx, cl
shr dh, 6
test cl, 0x20
mov ecx, 0xffffffff
cmovne ecx, ebx
cmovne ebx, edi
test byte [esp + 0x20], dh
mov edx, 0xffffffff
cmove ecx, edi
cmove ebx, edi
and dword [esp + 0x38], edx
movzx edi, word [esp + 0x24]
or eax, ecx
mov ecx, dword [esp + 0xc]
or edi, 0x210000
or ecx, ebx
mov dword [esp + 0x18], edi
mov ebx, esi
mov dword [esp + 0xc], ecx
shrd ecx, eax, 0x10
shr eax, 0x10
mov edx, eax
mov eax, dword [esp + 0x2c]
mov esi, ecx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xc]
mov edi, eax
mov cl, ah
mov eax, esi
mov dword [esp + 0xc], ecx
movzx ecx, cl
shl eax, 0x10
shl ecx, 8
or ecx, eax
mov eax, edi
movzx edi, al
or edi, ecx
mov ecx, edx
shld ecx, esi, 0x10
cmp dword [esp + 0x70], 0
mov dword [esp + 0x2c], ecx
je 0x511d70
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x20], ebx
cmp edx, dword [esp + 0x78]
jne 0x511d42
lea ecx, [esp + 0x74]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::reserve_for_push::h3fa0857fd6475545
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x2c]
mov ecx, edx
inc edx
shl ecx, 4
mov dword [eax + ecx + 4], ebx
mov ebx, dword [esp + 0x38]
mov dword [eax + ecx], edi
mov dword [eax + ecx + 0xc], ebx
mov ebx, dword [esp + 0x18]
mov dword [eax + ecx + 8], ebx
mov dword [esp + 0x7c], edx
jmp 0x511e3a
mov ecx, dword [esp + 0x74]
cmp ecx, 5
jne 0x511e92
mov dword [esp + 0x24], edi
mov dword [esp + 0x14], edx
movzx eax, byte [0x5c6170]
mov eax, dword [0x5c6108]
test eax, eax
jne 0x511da7
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x5125e7
mov dword [0x5c6108], eax
push 0x50
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x5125e7
mov dword [esp + 0x20], ebx
mov ebx, esi
mov ecx, 0x14
mov edi, eax
lea esi, [esp + 0x78]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], 5
mov dword [esp + 0x64], 5
lea ecx, [esp + 0x5c]
mov edx, 5
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::reserve_for_push::h3fa0857fd6475545
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x5c]
mov esi, dword [esp + 0x2c]
mov edx, ecx
inc ecx
shl edx, 4
mov dword [eax + edx + 4], esi
mov esi, dword [esp + 0x24]
mov dword [eax + edx], esi
mov esi, dword [esp + 0x38]
mov dword [eax + edx + 0xc], esi
mov esi, dword [esp + 0x18]
mov dword [eax + edx + 8], esi
mov dword [esp + 0x64], ecx
lea eax, [esp + 0x74]
mov esi, ebx
movsd xmm0, qword [esp + 0x5c]
mov dword [eax + 8], ecx
movsd qword [eax], xmm0
mov dword [esp + 0x70], 1
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0xc]
mov edi, dword [esp + 0x28]
test edi, edi
jne 0x511af3
jmp 0x512304
test esi, esi
je 0x5123a2
movzx esi, byte [ebx]
cmp si, 3
ja 0x5123b4
movzx esi, si
add ecx, 3
movzx eax, ax
add edx, 0xfffffffd
shl esi, 0xe
mov ebx, ecx
mov dword [esp + 0x28], edx
or eax, esi
cmp ax, 0x21
jne 0x511ba4
jmp 0x511c04
jae 0x5125d3
mov eax, dword [esp + 0x2c]
shl ecx, 4
mov dword [esp + ecx + 0x78], edi
mov edi, dword [esp + 0x18]
mov dword [esp + ecx + 0x7c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + ecx + 0x80], edi
mov dword [esp + ecx + 0x84], eax
inc dword [esp + 0x74]
mov ecx, dword [esp + 0xc]
mov edi, dword [esp + 0x28]
test edi, edi
jne 0x511af3
jmp 0x512304
test edx, edx
je 0x5122da
movzx ebx, byte [ecx]
lea edi, [edx - 1]
mov eax, ebx
and eax, 0x7f
test bl, bl
lea ebx, [ecx + 1]
jns 0x511f41
test edi, edi
je 0x512372
movzx ebx, byte [ecx + 1]
movzx eax, ax
lea edi, [edx - 2]
mov esi, ebx
and esi, 0x7f
shl esi, 7
or eax, esi
test bl, bl
lea ebx, [ecx + 2]
jns 0x511f3d
test edi, edi
je 0x5123a2
movzx esi, byte [ebx]
cmp si, 3
ja 0x5123b4
movzx esi, si
add ecx, 3
add edx, 0xfffffffd
movzx eax, ax
shl esi, 0xe
mov ebx, ecx
mov edi, edx
or eax, esi
mov esi, dword [esp + 0x1c]
test ax, ax
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
jne 0x51256c
lea ecx, [esp + 0x78]
movq xmm0, qword [esp + 0x70]
movdqu xmm2, xmmword [esp + 0x78]
movsd xmm1, qword [ecx + 0x10]
movsd xmm3, qword [ecx + 0x18]
movd eax, xmm0
movd edx, xmm2
movsd qword [esp + 0xe8], xmm1
movsd xmm1, qword [ecx + 0x20]
cmp eax, 2
movsd qword [esp + 0xf0], xmm3
movsd qword [esp + 0xf8], xmm1
movsd xmm1, qword [ecx + 0x28]
movsd qword [esp + 0x100], xmm1
movsd xmm1, qword [ecx + 0x30]
movsd qword [esp + 0x108], xmm1
movsd xmm1, qword [ecx + 0x38]
movsd qword [esp + 0x110], xmm1
movsd xmm1, qword [ecx + 0x40]
movsd qword [esp + 0x118], xmm1
movsd xmm1, qword [ecx + 0x48]
movsd qword [esp + 0x120], xmm1
pshufd xmm1, xmm2, 0x55
movd ecx, xmm1
pshufd xmm1, xmm2, 0xee
pshufd xmm2, xmm2, 0xff
je 0x512590
movsd xmm4, qword [esp + 0x118]
movsd xmm5, qword [esp + 0x110]
mov esi, ecx
movsd xmm3, qword [esp + 0x120]
mov dword [esp + 0x10], edx
movd dword [esp + 0x18], xmm2
shld esi, edx, 0x10
mov edx, ecx
shr edx, 0x10
cmp eax, 3
mov dword [esp + 0x14], edx
movd edx, xmm1
movsd qword [esp + 0x1c0], xmm4
movsd xmm4, qword [esp + 0x108]
movsd qword [esp + 0x1b8], xmm5
movsd xmm5, qword [esp + 0x100]
movsd qword [esp + 0x1c8], xmm3
movsd qword [esp + 0x1b0], xmm4
movsd xmm4, qword [esp + 0xf8]
movsd qword [esp + 0x1a8], xmm5
movsd xmm5, qword [esp + 0xe8]
movsd qword [esp + 0x1a0], xmm4
movsd xmm4, qword [esp + 0xf0]
movsd qword [esp + 0x190], xmm5
movsd qword [esp + 0x198], xmm4
je 0x5125b5
movsd xmm2, qword [esp + 0x1c0]
movsd xmm3, qword [esp + 0x1b8]
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0xe3]
mov dword [esp + 0x20], ebx
movsd xmm1, qword [esp + 0x1c8]
movzx ebx, byte [esp + 0xe7]
cmp eax, 2
movsd qword [esp + 0x180], xmm2
movsd xmm2, qword [esp + 0x1b0]
movsd qword [esp + 0x178], xmm3
movsd xmm3, qword [esp + 0x1a8]
mov dword [esp + 0x68], esi
mov esi, dword [esp + 0x3c]
movsd qword [esp + 0x188], xmm1
mov byte [esp + 0x6c], bl
movsd qword [esp + 0x170], xmm2
movsd xmm2, qword [esp + 0x1a0]
movsd qword [esp + 0x168], xmm3
movsd xmm3, qword [esp + 0x190]
movsd qword [esp + 0x160], xmm2
movsd xmm2, qword [esp + 0x198]
movsd qword [esp + 0x150], xmm3
movsd qword [esp + 0x158], xmm2
je 0x512328
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x1d0], eax
movsd xmm1, qword [esp + 0x180]
movsd xmm2, qword [esp + 0x178]
movd eax, xmm0
movsd xmm0, qword [esp + 0x188]
mov dword [esp + 0x1d4], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1d8], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1dc], ecx
lea ecx, [esp + 0x1e8]
mov dword [esp + 0x1e0], edx
mov dword [esp + 0x1e4], eax
movsd qword [ecx + 0x30], xmm1
movsd xmm1, qword [esp + 0x170]
movsd qword [ecx + 0x28], xmm2
movsd xmm2, qword [esp + 0x168]
mov eax, dword [esp + 0xd0]
movsd qword [ecx + 0x38], xmm0
movsd qword [ecx + 0x20], xmm1
movsd xmm1, qword [esp + 0x160]
movsd qword [ecx + 0x18], xmm2
movq xmm2, qword [esp + 0x150]
movsd qword [ecx + 0x10], xmm1
movq xmm1, qword [esp + 0x158]
movq qword [ecx], xmm2
movq qword [ecx + 8], xmm1
mov dword [esp + 0x22c], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x228], eax
mov eax, dword [esp + 0x34]
mov word [esp + 0x230], ax
movzx eax, byte [esp + 0x33]
mov byte [esp + 0x232], al
mov eax, dword [esp + 0x68]
mov dword [ecx + 0x4b], eax
movzx eax, byte [esp + 0x6c]
mov byte [ecx + 0x4f], al
lea ecx, [esp + 0x44]
lea edx, [esp + 0x1d0]
call sym.gimli::read::abbrev::Abbreviations::insert::h30ab3770c3cbf12a
test al, al
jne 0x5125ca
test edi, edi
jne 0x511902
jmp 0x512292
jmp 0x512292
xor ebx, ebx
mov cl, 6
jmp 0x512409
mov eax, dword [esp + 0x28]
mov dh, byte [esp + 0x2c]
add dword [esp + 0x20], eax
mov edi, dword [esp + 0x20]
mov ah, dh
mov cl, 0x13
xor ebx, ebx
jmp 0x512409
mov ebx, dword [esp + 0x20]
add ebx, dword [esp + 0x28]
mov dword [esp + 0x18], 0
mov cl, 0x13
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
cmp dword [esp + 0x70], 0
jne 0x5123d7
jmp 0x5123ff
mov cl, 7
mov dword [esp + 0x18], 0
jmp 0x5123c4
mov eax, dword [esp + 0xc]
mov ebx, ecx
mov dword [esp + 0x18], 0
mov cl, 0x13
mov ah, al
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x14]
cmp dword [esp + 0x70], 0
jne 0x5123d7
jmp 0x5123ff
mov ah, cl
mov dword [esp + 0x18], 0
mov cl, 0x13
mov dword [esp + 0x10], eax
cmp dword [esp + 0x70], 0
jne 0x5123d7
jmp 0x5123ff
mov esi, dword [esp + 0x3c]
movsd xmm0, qword [esp + 0x54]
movq xmm2, qword [esp + 0x44]
movq xmm1, qword [esp + 0x4c]
movsd qword [esi + 0x10], xmm0
movq qword [esi + 8], xmm1
movq qword [esi], xmm2
jmp 0x51254f
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov cl, 0x13
jmp 0x512387
mov dword [esp + 0x18], edx
mov cl, 9
jmp 0x5123be
mov dword [esp + 0x10], eax
jmp 0x5122a9
mov cl, 8
jmp 0x512370
mov cl, 0xa
jmp 0x512387
mov eax, dword [esp + 0xc]
jmp 0x5122e0
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov cl, 0x13
mov edi, ebx
mov eax, dword [esp + 0x10]
xor ebx, ebx
jmp 0x512409
mov eax, dword [esp + 0xc]
mov dword [esp + 0x18], 0
mov cl, 6
jmp 0x5122ea
mov eax, dword [esp + 0xc]
mov dword [esp + 0x18], 0
mov cl, 0x13
mov ah, al
jmp 0x5123c4
mov cl, 6
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0xc]
mov ah, al
mov dword [esp + 0x10], eax
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
cmp dword [esp + 0x70], 0
je 0x5123ff
cmp dword [esp + 0x78], 0
je 0x5123ff
push dword [esp + 0x74]
push 0
push dword [0x5c6108]
mov dword [esp + 0x2c], ebx
mov edi, edx
mov ebx, ecx
call sub.KERNEL32.dll_HeapFree
mov ecx, ebx
mov ebx, dword [esp + 0x20]
mov edx, edi
mov edi, ebx
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
movzx eax, ah
movzx ecx, cl
shld edx, esi, 0x10
shl esi, 0x10
shl eax, 8
or ecx, eax
or ecx, esi
mov esi, dword [esp + 0x3c]
mov dword [esi + 8], ecx
mov dword [esi + 0xc], edx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x10], edi
mov edi, dword [esp + 0x4c]
mov dword [esi], 0
mov esi, dword [esp + 0x44]
test edi, edi
je 0x512473
lea ebx, [esi + 8]
jmp 0x512456
add ebx, 0x68
dec edi
je 0x512473
cmp dword [ebx - 8], 0
je 0x512450
cmp dword [ebx], 0
je 0x512450
push dword [ebx - 4]
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
jmp 0x512450
cmp dword [esp + 0x48], 0
je 0x512488
push esi
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x5124c8
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], ecx
mov ecx, 1
mov dword [esp + 0x8c], edx
jmp 0x5124cc
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x70], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x90], eax
lea ecx, [esp + 0xe8]
lea edx, [esp + 0x70]
call dbg.dying_next<u64, gimli::read::abbrev::Abbreviation, alloc::alloc::Global>
mov eax, dword [esp + 0xe8]
test eax, eax
je 0x51254f
lea esi, [esp + 0xe8]
lea edi, [esp + 0x70]
jmp 0x512524
mov ecx, esi
mov edx, edi
call dbg.dying_next<u64, gimli::read::abbrev::Abbreviation, alloc::alloc::Global>
mov eax, dword [esp + 0xe8]
test eax, eax
je 0x51254f
imul ecx, dword [esp + 0xf0], 0x68
cmp dword [eax + ecx + 0x58], 0
je 0x512510
lea eax, [eax + ecx + 0x58]
cmp dword [eax + 8], 0
je 0x512510
push dword [eax + 4]
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
jmp 0x512510
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
xor ebx, ebx
mov cl, 6
jmp 0x512409
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x18]
mov ah, al
mov cl, 0xd
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], edi
cmp dword [esp + 0x70], 0
jne 0x5123d7
jmp 0x5123ff
mov esi, edx
mov byte [esp + 0xc], dl
mov eax, edx
mov eax, edx
movd edi, xmm1
movd ebx, xmm2
shrd esi, ecx, 0x10
shr ecx, 0x10
mov edx, ecx
movzx ecx, byte [esp + 0xc]
jmp 0x512409
mov eax, dword [esp + 0x10]
mov edi, edx
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, eax
jmp 0x512409
mov byte [esi + 8], 0xe
jmp 0x51242d
mov edx, 5
push 0x554314
call dbg.panic_bounds_check
add esp, 4
jmp 0x5125f6
mov ecx, 8
mov edx, 0x50
call dbg.handle_alloc_error
ud2