Function at 0x10005640
Capabilities:
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10014102
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
push ebx
push esi
push edi
mov eax, dword [0x10019008]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x18], ebx
push 1
push 0
push 0
push 0
push 0x179
push 0x1c8
push 0
push 0
sub esp, 0x18
mov esi, esp
push 4
push str.Shop
push esi
mov dword [esi], 0
mov dword [esi + 0x10], 4
mov dword [esi + 0x14], 0xf
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [esi + 4], 0
mov ecx, ebx
call fcn.1000d120
mov dword [ebp - 4], 0
mov dword [ebx], vtable.GUIShopDialog.0
mov dword [ebx + 0x54], 0
mov dword [ebx + 0x58], 0
mov dword [ebx + 0x5c], 0
mov dword [ebx + 0x60], 0
mov dword [ebx + 0x64], 0
mov dword [ebx + 0x68], 0
mov byte [ebp - 4], 2
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x38]
mov dword [ebx + 0x6c], 0xffffffff
mov dword [ebx + 0x70], 0xffffffff
mov dword [ebx + 0x74], 0xffffffff
mov dword [ebx + 0x78], 0
mov dword [ebp - 0x10], 0
call fcn.10006fa0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x20], 5
mov dword [ebp - 0x1c], 0xf
mov ecx, dword [eax]
mov eax, dword [ebx + 0x2c]
mov byte [ebp - 0x2b], 0
mov eax, dword [eax + ecx*4]
mov ecx, 0xffffffd0
imul eax, dword [eax + 0x30], 0x35
sub ecx, eax
mov eax, dword [str.Close]
mov dword [ebp - 0x30], eax
mov al, byte [0x100154a0]
mov byte [ebp - 0x2c], al
push 1
push 1
push 0
push 0xfffffffffffffffc
push ecx
push ebx
push 0x1000c3e0
sub esp, 0x18
mov byte [ebp - 4], 3
lea eax, [ebp - 0x30]
mov dword [ebp - 0x14], esp
mov ecx, esp
push eax
call fcn.1000acb0
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebx + 0x38]
mov dword [ebp - 0x10], 0
call fcn.10006fa0
mov ecx, dword [eax]
mov eax, dword [ebx + 0x2c]
mov ecx, dword [eax + ecx*4]
mov byte [ebp - 4], 3
call fcn.1000a5d0
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0x10
jb 0x100057e3
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100057d9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100057d9
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1001304a
add esp, 8
push 0x44
push 0x53
push 4
mov ecx, ebx
call fcn.1000cf90
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x14], esp
mov dword [eax], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebx + 0x38]
mov dword [ebp - 0x10], 4
call fcn.10006fa0
sub esp, 0x14
mov ecx, dword [eax]
mov eax, dword [ebx + 0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, esp
mov byte [ebp - 4], 2
mov dword [eax], 1
mov dword [eax + 4], 0xbf
mov dword [eax + 8], 0xbf
mov dword [eax + 0xc], 0xbf
mov dword [eax + 0x10], 1
call fcn.1000af30
push 0x21
push 0xf6
push 5
mov ecx, ebx
call fcn.1000cf90
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x14], esp
mov dword [eax], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebx + 0x38]
mov dword [ebp - 0x10], 5
call fcn.10006fa0
sub esp, 0x14
mov ecx, dword [eax]
mov eax, dword [ebx + 0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, esp
mov byte [ebp - 4], 2
mov dword [eax], 1
mov dword [eax + 4], 0xbf
mov dword [eax + 8], 0xbf
mov dword [eax + 0xc], 0xbf
mov dword [eax + 0x10], 0
call fcn.1000af30
push 0x2e
push 0xf6
push 6
mov ecx, ebx
call fcn.1000cf90
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x14], esp
mov dword [eax], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebx + 0x38]
mov dword [ebp - 0x10], 6
call fcn.10006fa0
mov ecx, dword [eax]
mov eax, dword [ebx + 0x2c]
mov ecx, dword [eax + ecx*4]
sub esp, 0x14
mov byte [ebp - 4], 2
mov eax, esp
mov dword [eax], 1
mov dword [eax + 4], 0xbf
mov dword [eax + 8], 0xbf
mov dword [eax + 0xc], 0xbf
mov dword [eax + 0x10], 0
call fcn.1000af30
push 0x4c
mov dword [ebp - 0x14], 7
call fcn.1001301a
mov esi, eax
add esp, 4
mov dword [ebp - 0x10], esi
push str.labelex
push 0
push 0xb4
push 0x40
push 0xf6
mov ecx, esi
mov byte [ebp - 4], 8
call fcn.1000c6e0
mov dword [esi], vtable.LabelEx.0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 0
mov byte [ebp - 4], 2
mov dword [esi + 0x38], 1
mov dword [esi + 0x44], 0xff
mov dword [esi + 0x40], 0xff
mov dword [esi + 0x3c], 0xff
mov dword [esi + 0x48], 0
mov eax, dword [ebx + 0x30]
mov dword [ebp - 0x10], esi
cmp eax, dword [ebx + 0x34]
je 0x100059da
mov dword [eax], esi
add dword [ebx + 0x30], 4
jmp 0x100059e7
lea ecx, [ebp - 0x10]
push ecx
push eax
lea ecx, [ebx + 0x2c]
call fcn.1000c580
mov dword [esi + 0x20], ebx
cmp dword [ebx + 0x40], 0
jne 0x100059fd
cmp byte [esi + 0x1a], 0
je 0x100059fd
mov dword [ebx + 0x40], esi
mov byte [esi + 0x1b], 1
mov esi, dword [ebx + 0x30]
lea eax, [ebp - 0x14]
sub esi, dword [ebx + 0x2c]
lea ecx, [ebx + 0x38]
push eax
sar esi, 2
call fcn.10006fa0
lea ecx, [esi - 1]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0xf
mov dword [eax], ecx
mov byte [ebp - 0x48], 0
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 9
push eax
lea ecx, [ebx + 0x38]
mov dword [ebp - 0x14], 7
call fcn.10006fa0
mov ecx, dword [eax]
mov eax, dword [ebx + 0x2c]
mov edi, dword [eax + ecx*4]
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x48]
push dword [edi + 0x10]
mov dword [edi + 0x38], 1
sub esp, 0x18
mov dword [edi + 0x3c], 0xbf
mov dword [edi + 0x40], 0xbf
mov ecx, esp
mov dword [edi + 0x44], 0xbf
mov dword [edi + 0x48], 0
push eax
call fcn.1000acb0
mov edx, dword [edi + 0x38]
lea ecx, [ebp - 0x24]
call fcn.1000f7f0
add esp, 0x1c
lea ecx, [edi + 0x2c]
push eax
call fcn.1000b260
lea ecx, [ebp - 0x24]
call fcn.1000a210
mov ecx, dword [edi + 0x30]
mov eax, 0x2aaaaaab
sub ecx, dword [edi + 0x2c]
imul ecx
mov byte [ebp - 4], 2
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea eax, [ecx*8]
sub eax, ecx
mov ecx, dword [ebp - 0x34]
add eax, eax
mov dword [edi + 0x14], eax
cmp ecx, 0x10
jb 0x10005b05
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10005afb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10005afb
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1001304a
add esp, 8
push 0x136
push 0x164
push 8
mov ecx, ebx
call fcn.1000ced0
push 1
push 0
push 0
push 0
push 0
push ebx
push 0x10005600
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x10], esp
push 0xb
push str.Buy_product
push esi
mov dword [esi], 0
mov dword [esi + 0x10], 0xb
mov dword [esi + 0x14], 0xf
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [esi + 0xb], 0
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebx + 0x38]
mov dword [ebp - 0x14], 8
call fcn.10006fa0
mov ecx, dword [eax]
mov eax, dword [ebx + 0x2c]
mov ecx, dword [eax + ecx*4]
mov byte [ebp - 4], 2
call fcn.1000a5d0
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 8
push eax
lea ecx, [ebx + 0x38]
call fcn.10006fa0
mov dword [ebp - 0x10], 1
mov ecx, dword [eax]
mov eax, dword [ebx + 0x2c]
mov esi, dword [eax + ecx*4]
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
lea ecx, [esi + 0x2c]
call fcn.1000aee0
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0xd], 0
jne 0x10005bcb
cmp dword [eax + 0x10], 1
ja 0x10005bcb
cmp eax, dword [esi + 0x2c]
je 0x10005bcb
mov eax, dword [eax + 0x14]
jmp 0x10005bcd
xor eax, eax
push ecx
push 0x8a
push ecx
push 0xf
push 9
mov ecx, ebx
mov byte [eax + 0x1a], 0
call fcn.1000cd40
push ecx
push 0x114
push ecx
push 0xa5
push 0xa
mov ecx, ebx
call fcn.1000cd40
push 0x13b
push 0x15e
push 0xb
mov ecx, ebx
call fcn.1000cf90
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebx + 0x38]
mov dword [ebp - 0x14], 0xb
call fcn.10006fa0
sub esp, 0x14
mov ecx, dword [eax]
mov eax, dword [ebx + 0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, esp
mov byte [ebp - 4], 2
mov dword [eax], 1
mov dword [eax + 4], 0xbf
mov dword [eax + 8], 0xbf
mov dword [eax + 0xc], 0xbf
mov dword [eax + 0x10], 2
call fcn.1000af30
push 0x136
push 0xf
push 0xc
mov ecx, ebx
call fcn.1000ced0
push 1
push 0
push 0
push 0
push 0
push ebx
push 0x10005620
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x10], esp
push 9
push str.Buy_coins
push esi
mov dword [esi], 0
mov dword [esi + 0x10], 9
mov dword [esi + 0x14], 0xf
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [esi + 9], 0
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 0xd
push eax
lea ecx, [ebx + 0x38]
mov dword [ebp - 0x14], 0xc
call fcn.10006fa0
mov ecx, dword [eax]
mov eax, dword [ebx + 0x2c]
mov ecx, dword [eax + ecx*4]
mov byte [ebp - 4], 2
call fcn.1000a5d0
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret