Function at 0x10004c90
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101691ac
mov eax, dword fs:[0]
push eax
sub esp, 0x324
mov eax, dword [0x101ccf60]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov esi, eax
call fcn.1000f0c5
mov ecx, eax
test ecx, ecx
jne 0x10004cda
push 0x80004005
call fcn.10001d40
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x214], eax
push esi
lea eax, [ebp - 0x214]
mov dword [ebp - 4], 0
push 0x101af2cc
push eax
call fcn.100087d0
mov esi, dword [ebp - 0x214]
add esp, 0xc
cmp dword [esi - 4], 1
jle 0x10004d26
push dword [esi - 0xc]
lea ecx, [ebp - 0x214]
call fcn.100071b0
mov esi, dword [ebp - 0x214]
call fcn.10142b10
call fcn.10141dc0
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call fcn.101422a0
sub esp, 0x18
mov ecx, esp
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 8
jb 0x10004d59
mov eax, dword [ecx]
jmp 0x10004d5b
mov eax, ecx
push 6
xor edx, edx
push str._in_ok
mov word [eax], dx
call fcn.10006790
call fcn.10002a50
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
add esp, 0x18
push dword [0x101d78d8]
push 0
push str.LocationPosTextNOReadZero
push 0x101aef6c
call edi
push dword [0x101d78d8]
test eax, eax
push 2
push str.LocationValueNotDot
push 0x101aef6c
setne byte [0x101f7410]
call edi
push dword [0x101d78d8]
test eax, eax
push 0
push str.LocationGB2312_TO_ASCII
push 0x101aef6c
setne byte [0x101f7411]
call edi
test eax, eax
lea eax, [ebp - 0x210]
push 0x200
push 0
push eax
setne byte [0x101f7412]
call fcn.10146f60
mov eax, dword [0x101d78d8]
add esp, 0xc
cmp dword [eax - 4], 1
jle 0x10004e04
push dword [eax - 0xc]
mov ecx, 0x101d78d8
call fcn.100071b0
mov eax, dword [0x101d78d8]
lea ecx, [ebp - 0x32c]
push 3
mov dword [ebp - 0x330], ecx
lea ecx, [ebp - 0x330]
push eax
call fcn.100073b0
push dword [ebp - 0x330]
lea eax, [ebp - 0x210]
push 0x200
push eax
push 0x101aeddc
push str.LocationPosLocationInfo
push str.CASHIER
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [ebp - 0x330]
lea ecx, [ebp - 0x32c]
cmp eax, ecx
je 0x10004e5e
push eax
call fcn.1014d40e
add esp, 4
cmp byte [ebp - 0x210], 0
mov dword [ebp - 0x218], 0xf
mov dword [ebp - 0x21c], 0
mov byte [ebp - 0x22c], 0
jne 0x10004e86
xor ecx, ecx
jmp 0x10004e99
lea ecx, [ebp - 0x210]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10004e90
sub ecx, edx
push ecx
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x22c]
call fcn.10006b20
mov byte [ebp - 4], 1
cmp dword [ebp - 0x21c], 0
je 0x1000536f
push ecx
xorps xmm0, xmm0
mov dword [ebp - 0x268], 0
push str.__sX_s_s____0_9___s__sY_s_s____0_9___s__sT_s_s____0_9___s__sB_s_s____0_9___s__sL_s_s____0_9___s__sR_s_s____0_9___s_
lea ecx, [ebp - 0x278]
movups xmmword [ebp - 0x278], xmm0
call fcn.10005a80
push 0x38
lea eax, [ebp - 0x264]
push 0
push eax
call fcn.10146f60
xorps xmm0, xmm0
mov dword [ebp - 0x264], 0
add esp, 0xc
mov byte [ebp - 0x260], 0
movups xmmword [ebp - 0x25c], xmm0
mov dword [ebp - 0x24c], 0
mov byte [ebp - 0x248], 0
mov dword [ebp - 0x244], 0
mov dword [ebp - 0x240], 0
mov byte [ebp - 0x23c], 0
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 0
mov byte [ebp - 0x230], 0
mov byte [ebp - 4], 3
nop dword [eax + eax]
mov edi, dword [ebp - 0x218]
lea eax, [ebp - 0x22c]
mov edx, dword [ebp - 0x22c]
lea ecx, [ebp - 0x22c]
cmp edi, 0x10
cmovae eax, edx
cmovae ecx, edx
mov dword [ebp - 0x27c], eax
mov eax, dword [ebp - 0x21c]
push dword [ebp - 0x27c]
add eax, ecx
cmp edi, 0x10
lea ecx, [ebp - 0x22c]
cmovae ecx, edx
lea edx, [ebp - 0x278]
push ecx
push eax
push ecx
lea ecx, [ebp - 0x264]
call fcn.10009210
add esp, 0x10
test al, al
je 0x10005332
push 1
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x264]
call fcn.10005990
cmp dword [eax + 0x14], 0x10
jb 0x10004fdc
mov eax, dword [eax]
push eax
call fcn.1014c80d
mov dword [ebp - 0x2ac], eax
add esp, 4
mov eax, dword [ebp - 0x280]
cmp eax, 0x10
jb 0x10005037
mov ecx, dword [ebp - 0x294]
inc eax
cmp eax, 0x1000
jb 0x1000502e
test cl, 0x1f
jne 0x1000532d
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x1000532d
sub ecx, eax
cmp ecx, 4
jb 0x1000532d
cmp ecx, 0x23
ja 0x1000532d
mov ecx, eax
push ecx
call fcn.1000ed2f
add esp, 4
push 2
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x264]
call fcn.10005990
cmp dword [eax + 0x14], 0x10
jb 0x10005053
mov eax, dword [eax]
push eax
call fcn.1014c80d
mov dword [ebp - 0x2a8], eax
add esp, 4
mov eax, dword [ebp - 0x280]
cmp eax, 0x10
jb 0x100050ae
mov ecx, dword [ebp - 0x294]
inc eax
cmp eax, 0x1000
jb 0x100050a5
test cl, 0x1f
jne 0x1000532d
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x1000532d
sub ecx, eax
cmp ecx, 4
jb 0x1000532d
cmp ecx, 0x23
ja 0x1000532d
mov ecx, eax
push ecx
call fcn.1000ed2f
add esp, 4
push 3
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x264]
call fcn.10005990
cmp dword [eax + 0x14], 0x10
jb 0x100050ca
mov eax, dword [eax]
push eax
call fcn.1014c80d
mov dword [ebp - 0x2a4], eax
add esp, 4
mov eax, dword [ebp - 0x280]
cmp eax, 0x10
jb 0x10005125
mov ecx, dword [ebp - 0x294]
inc eax
cmp eax, 0x1000
jb 0x1000511c
test cl, 0x1f
jne 0x1000532d
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x1000532d
sub ecx, eax
cmp ecx, 4
jb 0x1000532d
cmp ecx, 0x23
ja 0x1000532d
mov ecx, eax
push ecx
call fcn.1000ed2f
add esp, 4
push 4
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x264]
call fcn.10005990
cmp dword [eax + 0x14], 0x10
jb 0x10005141
mov eax, dword [eax]
push eax
call fcn.1014c80d
mov dword [ebp - 0x2a0], eax
add esp, 4
mov eax, dword [ebp - 0x280]
cmp eax, 0x10
jb 0x1000519c
mov ecx, dword [ebp - 0x294]
inc eax
cmp eax, 0x1000
jb 0x10005193
test cl, 0x1f
jne 0x1000532d
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x1000532d
sub ecx, eax
cmp ecx, 4
jb 0x1000532d
cmp ecx, 0x23
ja 0x1000532d
mov ecx, eax
push ecx
call fcn.1000ed2f
add esp, 4
push 5
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x264]
call fcn.10005990
cmp dword [eax + 0x14], 0x10
jb 0x100051b8
mov eax, dword [eax]
push eax
call fcn.1014c80d
mov dword [ebp - 0x29c], eax
add esp, 4
mov eax, dword [ebp - 0x280]
cmp eax, 0x10
jb 0x10005213
mov ecx, dword [ebp - 0x294]
inc eax
cmp eax, 0x1000
jb 0x1000520a
test cl, 0x1f
jne 0x1000532d
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x1000532d
sub ecx, eax
cmp ecx, 4
jb 0x1000532d
cmp ecx, 0x23
ja 0x1000532d
mov ecx, eax
push ecx
call fcn.1000ed2f
add esp, 4
push 6
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x264]
call fcn.10005990
cmp dword [eax + 0x14], 0x10
jb 0x1000522f
mov eax, dword [eax]
push eax
call fcn.1014c80d
mov dword [ebp - 0x298], eax
add esp, 4
mov eax, dword [ebp - 0x280]
cmp eax, 0x10
jb 0x1000528a
mov ecx, dword [ebp - 0x294]
inc eax
cmp eax, 0x1000
jb 0x10005281
test cl, 0x1f
jne 0x1000532d
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x1000532d
sub ecx, eax
cmp ecx, 4
jb 0x1000532d
cmp ecx, 0x23
ja 0x1000532d
mov ecx, eax
push ecx
call fcn.1000ed2f
add esp, 4
mov eax, dword [0x101d793c]
cmp eax, dword [0x101d7940]
jne 0x100052a2
push ecx
call fcn.10008db0
mov eax, dword [0x101d793c]
test eax, eax
je 0x100052c2
movups xmm0, xmmword [ebp - 0x2ac]
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x29c]
movq qword [eax + 0x10], xmm0
mov eax, dword [0x101d793c]
add eax, 0x18
lea ecx, [ebp - 0x244]
mov dword [0x101d793c], eax
lea eax, [ebp - 0x294]
push eax
call fcn.10005b40
push eax
lea ecx, [ebp - 0x22c]
call fcn.10005e90
mov eax, dword [ebp - 0x280]
cmp eax, 0x10
jb 0x10004f60
mov ecx, dword [ebp - 0x294]
inc eax
cmp eax, 0x1000
jb 0x1000531f
test cl, 0x1f
jne 0x1000532d
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x1000532d
sub ecx, eax
cmp ecx, 4
jb 0x1000532d
cmp ecx, 0x23
ja 0x1000532d
mov ecx, eax
push ecx
call fcn.1000ed2f
add esp, 4
jmp 0x10004f60
call fcn.1014ccf1
mov edi, dword [ebp - 0x25c]
test edi, edi
je 0x1000535b
mov ecx, dword [ebp - 0x254]
mov eax, 0x2aaaaaab
sub ecx, edi
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push edi
call fcn.10007560
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 1
call fcn.100059f0
jmp 0x1000544b
push dword [0x101d78d8]
push 0
push str.LocationPosTextLeft
push 0x101aef6c
call edi
push dword [0x101d78d8]
mov dword [ebp - 0x29c], eax
push 0
push str.LocationPosTextRight
push 0x101aef6c
call edi
push dword [0x101d78d8]
mov dword [ebp - 0x298], eax
push 0
push str.LocationPosTextTop
push 0x101aef6c
call edi
push dword [0x101d78d8]
mov dword [ebp - 0x2a4], eax
push 0
push str.LocationPosTextBottom
push 0x101aef6c
call edi
push dword [0x101d78d8]
mov dword [ebp - 0x2a0], eax
push 0
push str.LocationPosTextX
push 0x101aef6c
call edi
push dword [0x101d78d8]
mov dword [ebp - 0x2ac], eax
push 0
push str.LocationPosTextY
push 0x101aef6c
call edi
mov dword [ebp - 0x2a8], eax
mov eax, dword [0x101d793c]
cmp eax, dword [0x101d7940]
jne 0x10005423
push ecx
call fcn.10008db0
mov eax, dword [0x101d793c]
test eax, eax
je 0x10005443
movups xmm0, xmmword [ebp - 0x2ac]
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x29c]
movq qword [eax + 0x10], xmm0
mov eax, dword [0x101d793c]
add eax, 0x18
mov dword [0x101d793c], eax
push str.822CFCE1_CD56_47B5_AE5B_A58867973825
push 0
call dword [sym.imp.USER32.dll_FindWindowW]
test eax, eax
je 0x10005487
push 0
push 1
push 0x537
push eax
call dword [sym.imp.USER32.dll_ChangeWindowMessageFilterEx]
test eax, eax
jne 0x10005487
sub esp, 0x18
mov ecx, esp
push str.Set_MessageFilter
call fcn.10005cb0
call fcn.10002a50
add esp, 0x18
push 0x100035a0
push 0x101d791c
call fcn.10141660
push 0x10003930
push 0x101d78e8
call fcn.10141660
push 0x10003ce0
push 0x101d794c
call fcn.10141660
push 0x100040e0
push 0x101d78f4
call fcn.10141660
push fcn.10003160
push 0x101d7930
call fcn.10141660
push 0x10004490
push 0x101d78d0
call fcn.10141660
push 0x100048b0
push 0x101d7914
call fcn.10141660
call fcn.10141e20
lea ecx, [ebp - 0x22c]
call fcn.10005e20
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x1000551f
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1013ee40
mov esp, ebp
pop ebp
ret