Function at 0x47af70
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x487345
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x37a0
call fcn.00481320
mov eax, dword [0x4b33f0]
mov dword [ebp - 0x10], eax
push edi
mov dword [ebp - 0x37ac], ecx
call fcn.00422b80
mov dword [ebp - 0x3370], eax
mov eax, dword [ebp - 0x37ac]
mov cx, word [eax + 0x1a4]
push ecx
mov ecx, dword [ebp - 0x3370]
call fcn.0046c5a0
mov dword [ebp - 0x3788], eax
cmp dword [ebp - 0x3788], 0
jne 0x47afdb
xor al, al
jmp 0x47bad5
mov edx, dword [ebp - 0x3788]
add edx, 0xc8
mov eax, dword [ebp - 0x37ac]
mov dword [eax + 0x1ac], edx
mov cx, word [0x49facc]
mov word [ebp - 0x424], cx
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x422]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x104
lea edx, [ebp - 0x424]
push edx
call dword [sym.imp.ServiceCore.dll_public:_static_bool___cdecl_CWHService::GetWorkDirectory_wchar_t__const__unsigned_short_int_]
add esp, 8
mov ax, word [0x49fad0]
mov word [ebp - 0x3784], ax
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x3782]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, dword [ebp - 0x37ac]
mov edx, dword [ecx + 0x1ac]
mov eax, dword [edx + 6]
push eax
mov ecx, dword [ebp - 0x37ac]
mov edx, dword [ecx + 0x1ac]
mov eax, dword [edx + 2]
push eax
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x424]
push edx
push str._s_sMatchMode__d__d
push 0x104
lea eax, [ebp - 0x3784]
push eax
call dword [sym.imp.MSVCR71.dll__snwprintf]
add esp, 0x1c
lea ecx, [ebp - 0x3784]
push ecx
mov ecx, dword [ebp - 0x37ac]
call fcn.0047aef0
movzx edx, al
test edx, edx
jne 0x47b0aa
xor al, al
jmp 0x47bad5
mov ax, word [0x49fb00]
mov word [ebp - 0x21c], ax
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x21a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [ebp - 0x3784]
push ecx
push str._sMatchResource.INI
push 0x104
lea edx, [ebp - 0x21c]
push edx
call dword [sym.imp.MSVCR71.dll__snwprintf]
add esp, 0x10
lea ecx, [ebp - 0x336c]
call fcn.00473070
mov dword [ebp - 4], 0
lea eax, [ebp - 0x21c]
push eax
push 1
push str.PositionMode
push str.Attribute
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov ecx, dword [ebp - 0x37ac]
mov byte [ecx + 0x1b0], al
mov edx, dword [ebp - 0x37ac]
movzx eax, byte [edx + 0x1b0]
test eax, eax
jne 0x47b36f
lea ecx, [ebp - 0x21c]
push ecx
push 0x49fb60
push 0x49fb80
mov edx, dword [ebp - 0x37ac]
add edx, 0x1b4
push edx
lea ecx, [ebp - 0x336c]
call fcn.00474c50
lea eax, [ebp - 0x21c]
push eax
push 0x49fb94
push 0x49fbb4
mov ecx, dword [ebp - 0x37ac]
add ecx, 0x1bc
push ecx
lea ecx, [ebp - 0x336c]
call fcn.00474c50
lea edx, [ebp - 0x21c]
push edx
push 0x49fbc8
push 0x49fbe8
mov eax, dword [ebp - 0x37ac]
add eax, 0x254
push eax
lea ecx, [ebp - 0x336c]
call fcn.00474c50
lea ecx, [ebp - 0x21c]
push ecx
push 0x49fbfc
push 0x49fc24
mov edx, dword [ebp - 0x37ac]
add edx, 0x25c
push edx
lea ecx, [ebp - 0x336c]
call fcn.00474c50
lea eax, [ebp - 0x21c]
push eax
push 0x49fc38
push 0x49fc54
mov ecx, dword [ebp - 0x37ac]
add ecx, 0x244
push ecx
lea ecx, [ebp - 0x336c]
call fcn.00474c50
lea edx, [ebp - 0x21c]
push edx
push 0x49fc68
push 0x49fc84
mov eax, dword [ebp - 0x37ac]
add eax, 0x24c
push eax
lea ecx, [ebp - 0x336c]
call fcn.00474c50
lea ecx, [ebp - 0x21c]
push ecx
push 0x49fc98
push 0x49fcb8
mov edx, dword [ebp - 0x37ac]
add edx, 0x1c4
push edx
lea ecx, [ebp - 0x336c]
call fcn.00474b50
lea eax, [ebp - 0x21c]
push eax
push str.Rect_MatchFee
push 0x49fce8
mov ecx, dword [ebp - 0x37ac]
add ecx, 0x1e4
push ecx
lea ecx, [ebp - 0x336c]
call fcn.00474b50
lea edx, [ebp - 0x21c]
push edx
push str.Rect_StartCount
push 0x49fd1c
mov eax, dword [ebp - 0x37ac]
add eax, 0x214
push eax
lea ecx, [ebp - 0x336c]
call fcn.00474b50
lea ecx, [ebp - 0x21c]
push ecx
push str.Rect_PlayCount
push 0x49fd50
mov edx, dword [ebp - 0x37ac]
add edx, 0x224
push edx
lea ecx, [ebp - 0x336c]
call fcn.00474b50
lea eax, [ebp - 0x21c]
push eax
push str.Rect_MinPlayCount
push 0x49fd88
mov ecx, dword [ebp - 0x37ac]
add ecx, 0x234
push ecx
lea ecx, [ebp - 0x336c]
call fcn.00474b50
lea edx, [ebp - 0x21c]
push edx
push str.Rect_MatchEndTime
push 0x49fdc0
mov eax, dword [ebp - 0x37ac]
add eax, 0x204
push eax
lea ecx, [ebp - 0x336c]
call fcn.00474b50
lea ecx, [ebp - 0x21c]
push ecx
push str.Rect_MatchStartTime
push 0x49fdfc
mov edx, dword [ebp - 0x37ac]
add edx, 0x1f4
push edx
lea ecx, [ebp - 0x336c]
call fcn.00474b50
lea eax, [ebp - 0x21c]
push eax
push str.Rect_MatchCondition
push 0x49fe38
mov ecx, dword [ebp - 0x37ac]
add ecx, 0x1d4
push ecx
lea ecx, [ebp - 0x336c]
call fcn.00474b50
mov edx, dword [ebp - 0x37ac]
movzx eax, byte [edx + 0x1b0]
cmp eax, 1
jne 0x47b7b5
lea ecx, [ebp - 0x3790]
call fcn.0043ba90
lea ecx, [ebp - 0x21c]
push ecx
push str.Point_InfoOffset
push 0x49fe70
lea edx, [ebp - 0x3790]
push edx
lea ecx, [ebp - 0x336c]
call fcn.00474c50
lea eax, [ebp - 0x21c]
push eax
push str.Point_MatchShow
push 0x49fea4
mov ecx, dword [ebp - 0x37ac]
add ecx, 0x1b4
push ecx
lea ecx, [ebp - 0x336c]
call fcn.00474c50
lea edx, [ebp - 0x21c]
push edx
push str.Point_MatchText
push 0x49fed8
mov eax, dword [ebp - 0x37ac]
add eax, 0x1bc
push eax
lea ecx, [ebp - 0x336c]
call fcn.00474c50
lea ecx, [ebp - 0x21c]
push ecx
push str.Point_MatchJoin
push 0x49ff0c
mov edx, dword [ebp - 0x37ac]
add edx, 0x254
push edx
lea ecx, [ebp - 0x336c]
call fcn.00474c50
lea eax, [ebp - 0x21c]
push eax
push str.Point_MatchDetails
push 0x49ff48
mov ecx, dword [ebp - 0x37ac]
add ecx, 0x25c
push ecx
lea ecx, [ebp - 0x336c]
call fcn.00474c50
lea edx, [ebp - 0x21c]
push edx
push str.Point_Number1
push 0x49ff78
mov eax, dword [ebp - 0x37ac]
add eax, 0x244
push eax
lea ecx, [ebp - 0x336c]
call fcn.00474c50
lea ecx, [ebp - 0x21c]
push ecx
push str.Point_Number2
push 0x49ffa8
mov edx, dword [ebp - 0x37ac]
add edx, 0x24c
push edx
lea ecx, [ebp - 0x336c]
call fcn.00474c50
lea eax, [ebp - 0x21c]
push eax
push str.Rect_MatchMode
push str.Position
mov ecx, dword [ebp - 0x37ac]
add ecx, 0x1c4
push ecx
lea ecx, [ebp - 0x336c]
call fcn.00474b50
mov edx, dword [ebp - 0x37ac]
add edx, 0x1c4
mov eax, dword [edx]
mov dword [ebp - 0x37a0], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0x379c], ecx
mov eax, dword [edx + 8]
mov dword [ebp - 0x3798], eax
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0x3794], ecx
mov edx, dword [ebp - 0x37ac]
mov eax, dword [edx + 0x1ac]
movzx ecx, byte [eax + 0xa]
test ecx, ecx
jne 0x47b67d
mov edx, dword [ebp - 0x378c]
push edx
mov eax, dword [ebp - 0x3790]
push eax
lea ecx, [ebp - 0x37a0]
call fcn.00430450
mov ecx, dword [ebp - 0x37ac]
add ecx, 0x1f4
mov edx, dword [ebp - 0x37a0]
mov dword [ecx], edx
mov eax, dword [ebp - 0x379c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x3798]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x3794]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x378c]
push ecx
mov edx, dword [ebp - 0x3790]
push edx
lea ecx, [ebp - 0x37a0]
call fcn.00430450
mov eax, dword [ebp - 0x37ac]
add eax, 0x204
mov ecx, dword [ebp - 0x37a0]
mov dword [eax], ecx
mov edx, dword [ebp - 0x379c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x3798]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x3794]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x378c]
push eax
mov ecx, dword [ebp - 0x3790]
push ecx
lea ecx, [ebp - 0x37a0]
call fcn.00430450
mov edx, dword [ebp - 0x37ac]
add edx, 0x1e4
mov eax, dword [ebp - 0x37a0]
mov dword [edx], eax
mov ecx, dword [ebp - 0x379c]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x3798]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x3794]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp - 0x378c]
push edx
mov eax, dword [ebp - 0x3790]
push eax
lea ecx, [ebp - 0x37a0]
call fcn.00430450
mov ecx, dword [ebp - 0x37ac]
add ecx, 0x1d4
mov edx, dword [ebp - 0x37a0]
mov dword [ecx], edx
mov eax, dword [ebp - 0x379c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x3798]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x3794]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x378c]
push ecx
mov edx, dword [ebp - 0x3790]
push edx
lea ecx, [ebp - 0x37a0]
call fcn.00430450
mov eax, dword [ebp - 0x37ac]
add eax, 0x234
mov ecx, dword [ebp - 0x37a0]
mov dword [eax], ecx
mov edx, dword [ebp - 0x379c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x3798]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x3794]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x37ac]
mov ecx, dword [eax + 0x1ac]
movzx edx, byte [ecx + 0xa]
cmp edx, 1
jne 0x47b7b5
mov eax, dword [ebp - 0x378c]
push eax
mov ecx, dword [ebp - 0x3790]
push ecx
lea ecx, [ebp - 0x37a0]
call fcn.00430450
mov edx, dword [ebp - 0x37ac]
add edx, 0x214
mov eax, dword [ebp - 0x37a0]
mov dword [edx], eax
mov ecx, dword [ebp - 0x379c]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x3798]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x3794]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp - 0x378c]
push edx
mov eax, dword [ebp - 0x3790]
push eax
lea ecx, [ebp - 0x37a0]
call fcn.00430450
mov ecx, dword [ebp - 0x37ac]
add ecx, 0x1e4
mov edx, dword [ebp - 0x37a0]
mov dword [ecx], edx
mov eax, dword [ebp - 0x379c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x3798]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x3794]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x378c]
push ecx
mov edx, dword [ebp - 0x3790]
push edx
lea ecx, [ebp - 0x37a0]
call fcn.00430450
mov eax, dword [ebp - 0x37ac]
add eax, 0x1d4
mov ecx, dword [ebp - 0x37a0]
mov dword [eax], ecx
mov edx, dword [ebp - 0x379c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x3798]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x3794]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x378c]
push eax
mov ecx, dword [ebp - 0x3790]
push ecx
lea ecx, [ebp - 0x37a0]
call fcn.00430450
mov edx, dword [ebp - 0x37ac]
add edx, 0x224
mov eax, dword [ebp - 0x37a0]
mov dword [edx], eax
mov ecx, dword [ebp - 0x379c]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x3798]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x3794]
mov dword [edx + 0xc], ecx
mov dx, word [0x49fff0]
mov word [ebp - 0x357c], dx
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x357a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
call fcn.00451070
mov dword [ebp - 0x3374], eax
lea eax, [ebp - 0x3784]
push eax
push str._sGround.bmp
push 0x104
lea ecx, [ebp - 0x357c]
push ecx
call dword [sym.imp.MSVCR71.dll__snwprintf]
add esp, 0x10
lea edx, [ebp - 0x357c]
push edx
mov ecx, dword [ebp - 0x37ac]
add ecx, 0x2a0
call fcn.0047cbc0
test eax, eax
jge 0x47b83a
push 0x104
mov eax, dword [ebp - 0x3374]
push eax
mov ecx, dword [ebp - 0x37ac]
add ecx, 0x2a0
call dword [sym.imp.WHImage.dll_public:_void___thiscall_CBitImage::LoadFromResource_struct_HINSTANCE_____unsigned_int_]
lea ecx, [ebp - 0x3784]
push ecx
push str._sIMAGE_MATCH__BACK.png
push 0x104
lea edx, [ebp - 0x357c]
push edx
call dword [sym.imp.MSVCR71.dll__snwprintf]
add esp, 0x10
lea eax, [ebp - 0x357c]
push eax
mov ecx, dword [ebp - 0x37ac]
add ecx, 0x8f8
call dword [sym.imp.WHImage.dll_public:_bool___thiscall_CPngImage::LoadImageW_wchar_t_const__]
movzx ecx, al
test ecx, ecx
jne 0x47b89f
mov byte [ebp - 0x37a1], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x336c]
call fcn.004734d0
mov al, byte [ebp - 0x37a1]
jmp 0x47bad5
lea edx, [ebp - 0x3784]
push edx
push str._sIMAGE_MATCH_SHOW.png
push 0x104
lea eax, [ebp - 0x357c]
push eax
call dword [sym.imp.MSVCR71.dll__snwprintf]
add esp, 0x10
lea ecx, [ebp - 0x357c]
push ecx
mov ecx, dword [ebp - 0x37ac]
add ecx, 0x4d8
call dword [sym.imp.WHImage.dll_public:_bool___thiscall_CPngImage::LoadImageW_wchar_t_const__]
movzx edx, al
test edx, edx
jne 0x47b904
mov byte [ebp - 0x37a2], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x336c]
call fcn.004734d0
mov al, byte [ebp - 0x37a2]
jmp 0x47bad5
lea eax, [ebp - 0x3784]
push eax
push str._sIMAGE_MATCH_TEXT.png
push 0x104
lea ecx, [ebp - 0x357c]
push ecx
call dword [sym.imp.MSVCR71.dll__snwprintf]
add esp, 0x10
lea edx, [ebp - 0x357c]
push edx
mov ecx, dword [ebp - 0x37ac]
add ecx, 0x6e8
call dword [sym.imp.WHImage.dll_public:_bool___thiscall_CPngImage::LoadImageW_wchar_t_const__]
movzx eax, al
test eax, eax
jne 0x47b969
mov byte [ebp - 0x37a3], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x336c]
call fcn.004734d0
mov al, byte [ebp - 0x37a3]
jmp 0x47bad5
lea ecx, [ebp - 0x3784]
push ecx
push str._sIMAGE_NUMBER1.png
push 0x104
lea edx, [ebp - 0x357c]
push edx
call dword [sym.imp.MSVCR71.dll__snwprintf]
add esp, 0x10
lea eax, [ebp - 0x357c]
push eax
mov ecx, dword [ebp - 0x37ac]
add ecx, 0xb08
call dword [sym.imp.WHImage.dll_public:_bool___thiscall_CPngImage::LoadImageW_wchar_t_const__]
movzx ecx, al
test ecx, ecx
jne 0x47b9ce
mov byte [ebp - 0x37a4], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x336c]
call fcn.004734d0
mov al, byte [ebp - 0x37a4]
jmp 0x47bad5
lea edx, [ebp - 0x3784]
push edx
push str._sIMAGE_NUMBER2.png
push 0x104
lea eax, [ebp - 0x357c]
push eax
call dword [sym.imp.MSVCR71.dll__snwprintf]
add esp, 0x10
lea ecx, [ebp - 0x357c]
push ecx
mov ecx, dword [ebp - 0x37ac]
add ecx, 0xd18
call dword [sym.imp.WHImage.dll_public:_bool___thiscall_CPngImage::LoadImageW_wchar_t_const__]
movzx edx, al
test edx, edx
jne 0x47ba33
mov byte [ebp - 0x37a5], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x336c]
call fcn.004734d0
mov al, byte [ebp - 0x37a5]
jmp 0x47bad5
lea eax, [ebp - 0x3784]
push eax
push str._sIMAGE_WORDS.png
push 0x104
lea ecx, [ebp - 0x357c]
push ecx
call dword [sym.imp.MSVCR71.dll__snwprintf]
add esp, 0x10
lea edx, [ebp - 0x357c]
push edx
mov ecx, dword [ebp - 0x37ac]
add ecx, 0xf28
call dword [sym.imp.WHImage.dll_public:_bool___thiscall_CPngImage::LoadImageW_wchar_t_const__]
movzx eax, al
test eax, eax
jne 0x47ba95
mov byte [ebp - 0x37a6], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x336c]
call fcn.004734d0
mov al, byte [ebp - 0x37a6]
jmp 0x47bad5
mov byte [ebp - 0x425], 0
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x37ac]
call fcn.0047baf0
mov byte [ebp - 0x425], al
mov dl, byte [ebp - 0x425]
mov byte [ebp - 0x37a7], dl
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x336c]
call fcn.004734d0
mov al, byte [ebp - 0x37a7]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
call fcn.0048124d
pop edi
mov esp, ebp
pop ebp
ret 4