Function at 0x514c76
Capabilities:
Create directory

Disassembly:
mov eax, 0x6008e8
call fcn.0059d590
mov eax, 0x13c8
call fcn.0059d8e0
push ebx
xor ebx, ebx
cmp dword [ebp + 8], ebx
push esi
push edi
mov dword [ebp - 0x10], ecx
je 0x515d3e
cmp dword [ebp + 0xc], ebx
je 0x515d3e
mov al, byte [0x68f370]
mov ecx, 0xff
mov byte [ebp - 0x698], al
xor eax, eax
lea edi, [ebp - 0x697]
mov esi, dword [sym.imp.MSVCRT.dll_strncpy]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x400
push dword [ebp + 0xc]
stosb byte es:[edi], al
lea eax, [ebp - 0x698]
push eax
call esi
mov edi, dword [sym.imp.GraphicData.dll_GameDataSetQuery]
add esp, 0xc
call edi
mov edx, dword [eax]
push 0x6779fc
mov ecx, eax
call dword [edx + 0x34]
push eax
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
jne 0x514d28
mov byte [ebp + 0xe], 0x5b
mov byte [ebp + 0xf], 0x5d
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x18]
push 0x3f
mov al, byte [ebp + eax + 0xe]
push eax
lea eax, [ebp - 0x698]
push eax
call fcn.00595bf8
add esp, 0xc
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x514d06
mov ecx, dword [ebp - 0x10]
call fcn.0052bf79
test eax, eax
je 0x514d7b
movzx eax, word [ebp + 0x18]
sub eax, 0x7d0
je 0x514d74
sub eax, 3
je 0x514d7b
call edi
mov esi, eax
call fcn.0040311a
push ebx
push ebx
mov edi, eax
mov eax, dword [esi]
push 0xff0000
push 0x7d5
push 0x186b9
mov ecx, esi
call dword [eax + 0x3c]
push eax
mov ecx, edi
call fcn.004d9a57
jmp 0x515d3e
mov dword [ebp + 0x18], 0x7dd
call fcn.0051bd44
mov eax, dword [eax + 0x10c]
push 0x10
push eax
lea eax, [ebp - 0x38]
push eax
call esi
lea eax, [ebp - 0x38]
mov byte [ebp - 0x29], bl
push eax
call sub.MSVCRT.dll_strlen
add esp, 0x10
cmp byte [ebp - 0x698], 0x2f
jne 0x515628
lea esi, [ebp + eax - 0x38]
lea eax, [esi - 4]
cmp eax, esi
jmp 0x514dcd
mov al, byte [0x68f370]
push 0x3f
mov byte [ebp - 0x158], al
pop ecx
xor eax, eax
lea edi, [ebp - 0x157]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov esi, dword [sym.imp.MSVCRT.dll_sscanf]
stosb byte es:[edi], al
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x697]
push 0x677684
push eax
call esi
add esp, 0xc
cmp eax, 1
jne 0x515628
mov edi, dword [sym.imp.MSVCRT.dll__stricmp]
lea eax, [ebp - 0x158]
push str.scrshot
push eax
call edi
pop ecx
test eax, eax
pop ecx
jne 0x514e8b
mov al, byte [0x68f370]
push 0x3f
mov byte [ebp - 0x298], al
pop ecx
xor eax, eax
lea edi, [ebp - 0x297]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x298]
push eax
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x697]
push 0x677340
push eax
call esi
add esp, 0x10
cmp eax, 2
jne 0x515628
push ebx
push str.ScreenShot
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea eax, [ebp - 0x298]
push eax
call dword [sym.imp.graphic.dll_public:_static_void___cdecl_CMyBitmap::ScreenShot_char_const__]
pop ecx
jmp 0x515d3e
lea eax, [ebp - 0x158]
push str.break
push eax
call edi
pop ecx
test eax, eax
pop ecx
jne 0x514eae
mov ecx, 0x691f98
call fcn.005353c9
jmp 0x515628
lea eax, [ebp - 0x158]
push str.color
push eax
call edi
pop ecx
test eax, eax
pop ecx
jne 0x514f34
fldz
lea eax, [ebp - 0x18]
fstp dword [ebp - 0x1c]
push eax
lea eax, [ebp + 0xc]
fldz
push eax
lea eax, [ebp - 0x14]
fstp dword [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
fldz
push eax
lea eax, [ebp - 0x158]
fstp dword [ebp + 0xc]
push eax
lea eax, [ebp - 0x697]
fldz
push str._s__f__f__f__f
push eax
fstp dword [ebp - 0x18]
call esi
add esp, 0x1c
cmp eax, 5
jne 0x515628
fld dword [ebp + 0xc]
push ecx
fstp dword [esp]
fld dword [ebp - 0x14]
push ecx
fstp dword [esp]
fld dword [ebp - 0x1c]
push ecx
fstp dword [esp]
fld dword [ebp - 0x18]
push ecx
fstp dword [esp]
call fcn.0051bd44
mov ecx, eax
call fcn.00533840
jmp 0x515628
lea eax, [ebp - 0x158]
push str.look
push eax
call edi
pop ecx
test eax, eax
pop ecx
jne 0x514f84
lea eax, [ebp + 0xc]
mov dword [ebp + 0xc], ebx
push eax
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x697]
push str._s__d
push eax
call esi
add esp, 0x10
cmp eax, 2
jne 0x515628
push dword [ebp + 0xc]
call fcn.0051bd44
mov ecx, eax
call fcn.0050f57a
jmp 0x515628
lea eax, [ebp - 0x158]
push str.mount
push eax
call edi
pop ecx
test eax, eax
pop ecx
jne 0x515029
lea eax, [ebp + 0xc]
mov dword [ebp + 0xc], ebx
push eax
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x697]
push str._s__d
push eax
call esi
add esp, 0x10
cmp eax, 2
jne 0x515628
mov eax, dword [ebp + 0xc]
push ebx
push 0x64
cdq
pop ecx
idiv ecx
mov eax, dword [ebp + 0xc]
push edx
cdq
idiv ecx
push eax
call fcn.0051bd44
mov ecx, eax
call fcn.00533ffa
cmp dword [ebp + 0xc], ebx
je 0x514ffd
call fcn.0051bd44
mov ecx, eax
call fcn.00533478
mov esi, edx
or esi, 0x40000
jmp 0x515011
call fcn.0051bd44
mov ecx, eax
call fcn.00533478
mov esi, edx
and esi, 0xfffbffff
mov edi, eax
call fcn.0051bd44
mov edx, dword [eax]
push esi
push edi
mov ecx, eax
call dword [edx + 0xa8]
jmp 0x515628
lea eax, [ebp - 0x158]
push str.AddNewCard
push eax
call edi
pop ecx
test eax, eax
pop ecx
jne 0x5150d8
push 7
lea edi, [ebp - 0x57]
pop ecx
mov byte [ebp - 0x58], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 7
xor eax, eax
pop ecx
lea edi, [ebp - 0x177]
mov byte [ebp - 0x178], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x178]
push eax
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x697]
push str._s__s__s
push eax
call esi
add esp, 0x14
cmp eax, 3
jg 0x5150a9
call fcn.00417f4d
mov edx, dword [eax]
lea ecx, [ebp - 0x178]
push ecx
lea ecx, [ebp - 0x58]
push ecx
mov ecx, eax
call dword [edx + 4]
jmp 0x515628
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x697]
push 0x677340
push eax
call esi
add esp, 0x10
cmp eax, 2
jne 0x515628
call fcn.00417f4d
mov edx, dword [eax]
push ebx
jmp 0x51509b
lea eax, [ebp - 0x158]
push str.rolescale
push eax
call edi
pop ecx
test eax, eax
pop ecx
jne 0x515128
lea eax, [ebp + 0xc]
mov dword [ebp + 0xc], ebx
push eax
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x697]
push str._s__d
push eax
call esi
add esp, 0x10
cmp eax, 2
jne 0x515628
fild dword [ebp + 0xc]
fmul dword [0x60e418]
fstp dword [0x680b48]
jmp 0x515628
lea eax, [ebp - 0x158]
push 0x680f7c
push eax
call edi
pop ecx
test eax, eax
pop ecx
jne 0x5151a5
mov al, byte [0x68f370]
push 0x3f
mov byte [ebp - 0x298], al
pop ecx
xor eax, eax
lea edi, [ebp - 0x297]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push str.Aug__3_2009
push str.19:05:11
stosb byte es:[edi], al
push str.version__s__s
lea eax, [ebp - 0x298]
push 0x100
push eax
call dword [sym.imp.MSVCRT.dll__snprintf]
add esp, 0x14
mov byte [ebp - 0x199], bl
lea eax, [ebp - 0x298]
push ebx
push ebx
push 0xff0000
push 0x7d5
push eax
call fcn.0040311a
mov ecx, eax
call fcn.004d9a57
jmp 0x515628
lea eax, [ebp - 0x158]
push str.scale
push eax
call edi
pop ecx
test eax, eax
pop ecx
jne 0x5151f7
lea eax, [ebp + 0xc]
mov dword [ebp + 0xc], 0x2710
push eax
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x697]
push str._s__u
push eax
call esi
add esp, 0x10
cmp eax, 2
jne 0x515628
push dword [ebp + 0xc]
mov ecx, 0x6903d0
call fcn.004e81bb
jmp 0x515628
lea eax, [ebp - 0x158]
push str.data
push eax
call edi
pop ecx
test eax, eax
pop ecx
jne 0x51524a
mov al, byte [0x68f370]
push 0x3f
mov byte [ebp - 0x798], al
pop ecx
xor eax, eax
lea edi, [ebp - 0x797]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x798]
push eax
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x697]
push 0x677340
push eax
call esi
add esp, 0x10
jmp 0x515628
lea eax, [ebp - 0x158]
push str.addeffect
push eax
call edi
pop ecx
test eax, eax
pop ecx
jne 0x5152dc
lea eax, [ebp - 0x198]
push eax
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x697]
push 0x677340
push eax
call esi
add esp, 0x10
cmp eax, 2
jne 0x515628
lea eax, [ebp - 0x198]
push 0x680f2c
push eax
call dword [sym.imp.MSVCRT.dll_strstr]
pop ecx
test eax, eax
pop ecx
je 0x5152b6
lea eax, [ebp - 0x198]
push eax
call fcn.0051bd44
mov ecx, eax
call fcn.0053485f
jmp 0x515628
call fcn.0051bd44
mov ecx, dword [eax + 0x378]
cmp ecx, ebx
je 0x515628
mov eax, dword [ecx]
lea edx, [ebp - 0x198]
push 1
push edx
call dword [eax + 0x10]
jmp 0x515628
lea eax, [ebp - 0x158]
push str.addaction
push eax
call edi
pop ecx
test eax, eax
pop ecx
jne 0x51536c
lea eax, [ebp - 0x14]
mov dword [ebp + 0xc], ebx
push eax
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x697]
push str._s__d__d
push eax
mov dword [ebp - 0x14], 7
call esi
add esp, 0x14
cmp eax, 3
jne 0x515336
mov eax, dword [ebp - 0x14]
push ebx
push ebx
push 8
cdq
pop ecx
idiv ecx
mov ecx, dword [ebp - 0x10]
push edx
push dword [ebp + 0xc]
call fcn.0057a506
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x30c]
cmp ecx, ebx
je 0x515358
mov edx, dword [ebp + 0xc]
mov eax, dword [ecx]
add edx, 0xbb8
push edx
call dword [eax + 0x28]
mov esi, eax
mov edi, edx
jmp 0x51535d
or edi, 0xffffffff
mov esi, edi
call fcn.0040311a
push edi
push esi
push dword [ebp + 0xc]
jmp 0x5154de
lea eax, [ebp - 0x158]
push str.GetFrameAmount
push eax
call edi
pop ecx
test eax, eax
pop ecx
jne 0x51542c
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x697]
push str._s__d
push eax
call esi
add esp, 0x10
cmp eax, 2
jne 0x5153ee
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x30c]
cmp ecx, ebx
je 0x5153c7
mov edx, dword [ebp + 0xc]
mov eax, dword [ecx]
add edx, 0xbb8
push edx
call dword [eax + 0x28]
mov esi, eax
mov edi, edx
jmp 0x5153cc
or edi, 0xffffffff
mov esi, edi
call fcn.0040311a
push edi
push esi
push dword [ebp + 0xc]
push str.InputActType__d_FrameAmount__d
push 0x7d5
push eax
call fcn.004da6b1
add esp, 0x18
jmp 0x515628
mov esi, dword [ebp - 0x10]
mov ecx, esi
call fcn.00511bcc
mov ecx, dword [esi + 0x30c]
mov dword [ebp + 0xc], eax
cmp ecx, ebx
je 0x515416
mov edx, dword [ecx]
add eax, 0xbb8
push eax
call dword [edx + 0x28]
mov esi, eax
mov edi, edx
jmp 0x51541b
or edi, 0xffffffff
mov esi, edi
call fcn.0040311a
push edi
push esi
push dword [ebp + 0xc]
push str.CurActType__d_FrameAmount__d
jmp 0x5153db
lea eax, [ebp - 0x158]
push str.SetDebugFrame
push eax
call edi
pop ecx
test eax, eax
pop ecx
jne 0x5154e8
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x697]
push str._s__d__d
push eax
call esi
add esp, 0x14
cmp eax, 3
jne 0x51547c
mov esi, dword [ebp - 0x10]
push ebx
push ebx
push 0xffffffffffffffff
push dword [ebp + 0xc]
mov ecx, esi
call fcn.0057a506
jmp 0x5154aa
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x697]
push str._s__d
push eax
call esi
mov esi, dword [ebp - 0x10]
add esp, 0x10
cmp eax, 2
jne 0x5154b0
mov ecx, esi
call fcn.00511bcc
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x14]
mov dword [esi + 0xc], eax
mov ecx, dword [esi + 0x30c]
cmp ecx, ebx
je 0x5154cf
mov edx, dword [ebp + 0xc]
mov eax, dword [ecx]
add edx, 0xbb8
push edx
call dword [eax + 0x28]
mov esi, eax
mov edi, edx
jmp 0x5154d4
or edi, 0xffffffff
mov esi, edi
call fcn.0040311a
push edi
push esi
push dword [ebp + 0xc]
push str.ActType__d_FrameAmount__d
jmp 0x5153db
lea eax, [ebp - 0x158]
push str.SetDebugInterval
push eax
call edi
pop ecx
test eax, eax
pop ecx
jne 0x51552f
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x697]
push str._s__d
push eax
call esi
add esp, 0x10
cmp eax, 2
jne 0x515628
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov dword [ecx + 0x10], eax
jmp 0x515628
lea eax, [ebp - 0x158]
push str.ActionDebugInfo
push eax
call edi
pop ecx
test eax, eax
pop ecx
jne 0x515579
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x697]
push str._s__d
push eax
call esi
add esp, 0x10
cmp eax, 2
jne 0x515628
cmp dword [ebp + 0xc], ebx
mov ecx, dword [ebp - 0x10]
setne al
mov byte [ecx + 0x14], al
jmp 0x515628
lea eax, [ebp - 0x158]
push str.addmsg
push eax
call edi
pop ecx
test eax, eax
pop ecx
jne 0x5155e3
mov al, byte [0x68f370]
push 0x3f
mov byte [ebp - 0x298], al
pop ecx
xor eax, eax
lea edi, [ebp - 0x297]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x298]
push eax
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x697]
push 0x677340
push eax
call esi
add esp, 0x10
cmp eax, 2
jne 0x515628
push ebx
push ebx
push 0xff0000
push 0x7d5
lea eax, [ebp - 0x298]
jmp 0x515193
lea eax, [ebp - 0x158]
push str.mapcolor
push eax
call edi
pop ecx
test eax, eax
pop ecx
jne 0x515628
lea eax, [ebp + 0xc]
mov dword [ebp + 0xc], ebx
push eax
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x697]
push str._s__x
push eax
call esi
add esp, 0x10
cmp eax, 2
jne 0x515628
push dword [ebp + 0xc]
mov ecx, 0x6903d0
call fcn.004e8134
mov esi, 0x7d2
cmp word [ebp + 0x18], si
jne 0x5156f5
call sub.WINMM.dll_timeGetTime
mov ecx, dword [ebp - 0x10]
add ecx, 0x8e0
mov edx, dword [ecx]
add edx, 0x1388
cmp eax, edx
jbe 0x515ceb
mov dword [ecx], eax
mov al, byte [0x68f370]
push 0x3f
mov byte [ebp - 0x298], al
pop ecx
xor eax, eax
lea edi, [ebp - 0x297]
push dword [ebp + 8]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov edi, dword [ebp - 0x10]
mov eax, dword [edi + 0x10c]
push eax
lea eax, [ebp - 0x698]
push eax
lea eax, [ebp - 0x298]
push 0x100
push eax
call dword [sym.imp.MSVCRT.dll__snprintf]
add esp, 0x14
lea ecx, [ebp - 0xbac]
mov byte [ebp - 0x199], bl
call fcn.00573d34
push ebx
push ebx
push dword [ebp + 0x1c]
mov edi, dword [edi + 0x10c]
lea eax, [ebp - 0x298]
lea ecx, [ebp - 0xbac]
push esi
mov dword [ebp - 4], ebx
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push dword [ebp + 8]
push edi
call fcn.00573df0
test eax, eax
je 0x5156e6
lea ecx, [ebp - 0xbac]
call fcn.005356b9
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xbac]
jmp 0x5159a2
mov esi, 0x7de
cmp word [ebp + 0x18], si
jne 0x5157ae
mov al, byte [0x68f370]
mov ecx, 0xff
mov byte [ebp - 0xb98], al
xor eax, eax
lea edi, [ebp - 0xb97]
push 0x400
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0xb98]
push eax
lea eax, [ebp - 0xb98]
push eax
call dword [sym.imp.MSVCRT.dll_strncpy]
push 0x5f
lea eax, [ebp - 0xb98]
push 0x20
push eax
mov byte [ebp - 0x799], bl
call fcn.00595bf8
add esp, 0x18
lea ecx, [ebp - 0xfc0]
call fcn.00573d34
push ebx
push ebx
push dword [ebp + 0x1c]
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0xb98]
mov dword [ebp - 4], 1
push esi
mov eax, dword [eax + 0x10c]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ecx
lea ecx, [ebp - 0xfc0]
push dword [ebp + 8]
push eax
call fcn.00573df0
test eax, eax
je 0x51579f
lea ecx, [ebp - 0xfc0]
call fcn.005356b9
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xfc0]
jmp 0x5159a2
cmp word [ebp + 0x18], 0x7e5
lea eax, [ebp - 0x698]
push eax
jne 0x515ab7
call fcn.0056b7d0
mov ecx, eax
call fcn.0056b875
call fcn.0051bd44
cmp dword [eax + 0x2fec], 3
je 0x515ceb
lea eax, [ebp - 0x698]
push 0x400
push eax
call fcn.0051bd44
mov ecx, eax
call fcn.005509aa
test al, al
je 0x51582a
call dword [sym.imp.GraphicData.dll_GameDataSetQuery]
mov edi, eax
call fcn.0040311a
push ebx
push ebx
mov esi, eax
mov eax, dword [edi]
push 0xff0000
push 0x7d5
push 0x280f
mov ecx, edi
call dword [eax + 0x3c]
push eax
mov ecx, esi
call fcn.004d9a57
xor esi, esi
call fcn.0051bd44
mov edi, dword [eax + 0x734]
mov dword [ebp - 0x1c], ebx
cmp edi, 0x78
mov dword [ebp + 0xc], edi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
jge 0x51589c
call fcn.0051bd44
cmp dword [eax + 0x748], ebx
jne 0x51589c
push 0x64
pop eax
cmp edi, eax
jl 0x51586f
push 0x1e
mov dword [ebp - 0x1c], 0x78
pop esi
mov dword [ebp - 0x18], 0xf
jmp 0x515897
push 0x5a
pop ecx
cmp edi, ecx
jl 0x515885
push 0x2d
mov dword [ebp - 0x1c], eax
pop esi
mov dword [ebp - 0x18], 0x1e
jmp 0x515897
cmp edi, 0x46
jl 0x5158a8
push 0x3c
mov dword [ebp - 0x1c], ecx
pop esi
mov dword [ebp - 0x18], 0x2d
mov dword [ebp - 0x14], esi
jmp 0x51589f
push 0xf
pop esi
cmp edi, 0x46
jge 0x515928
call fcn.0051bd44
cmp dword [eax + 0x748], ebx
jne 0x515928
lea eax, [ebp + 0xf]
lea ecx, [ebp - 0x28]
push eax
push str.STR_TALK_WORLD_TIP3
mov dword [ebp - 4], 2
call fcn.00402bfa
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 3
push eax
push ebx
call fcn.005963e9
pop ecx
mov ecx, eax
call fcn.0059665c
push eax
lea eax, [ebp - 0x698]
push eax
push 0x678f20
lea eax, [ebp - 0x698]
push 0x400
push eax
call dword [sym.imp.MSVCRT.dll__snprintf]
add esp, 0x14
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 4
sub eax, dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
je 0x51591f
push eax
push dword [ebp - 0x28]
call fcn.00402bd5
pop ecx
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x515aac
push ebx
call dword [sym.imp.MSVCRT.dll_time]
mov edi, dword [ebp - 0x10]
pop ecx
sub eax, dword [edi + 0x8e4]
cmp eax, esi
jl 0x5159ac
lea ecx, [ebp - 0xfc0]
call fcn.00573d34
push ebx
push ebx
push dword [ebp + 0x1c]
mov eax, dword [edi + 0x10c]
lea ecx, [ebp - 0x698]
mov dword [ebp - 4], 5
push 0x7e5
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ecx
lea ecx, [ebp - 0xfc0]
push dword [ebp + 8]
push eax
call fcn.00573df0
test eax, eax
je 0x515998
lea ecx, [ebp - 0xfc0]
call fcn.005356b9
push ebx
call dword [sym.imp.MSVCRT.dll_time]
pop ecx
mov dword [edi + 0x8e4], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xfc0]
call fcn.00573db2
jmp 0x515ceb
cmp dword [ebp + 0xc], 0x78
jge 0x515a1e
call fcn.0051bd44
cmp dword [eax + 0x748], ebx
jne 0x515a1e
lea eax, [ebp + 0xf]
lea ecx, [ebp - 0x28]
push eax
push str.STR_TALK_WORLD_TIP2
mov dword [ebp - 4], 9
call fcn.00402bfa
push dword [ebp - 0x18]
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xa
push ebx
push dword [ebp - 0x1c]
push dword [ebp - 0x14]
push ebx
push eax
push ebx
call fcn.005963e9
pop ecx
mov ecx, eax
call fcn.0059665c
mov edi, dword [sym.imp.MSVCRT.dll__snprintf]
push eax
lea eax, [ebp - 0x158]
push 0x100
push eax
call edi
add esp, 0x20
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xb
call fcn.00402b84
jmp 0x515a81
lea eax, [ebp + 0xf]
lea ecx, [ebp - 0x28]
push eax
push str.STR_TALK_WORLD_TIP1
mov dword [ebp - 4], 6
call fcn.00402bfa
push 0xf
lea eax, [ebp - 0x28]
push ebx
push eax
push ebx
mov byte [ebp - 4], 7
call fcn.005963e9
pop ecx
mov ecx, eax
call fcn.0059665c
mov edi, dword [sym.imp.MSVCRT.dll__snprintf]
push eax
lea eax, [ebp - 0x158]
push 0x100
push eax
call edi
add esp, 0x14
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 8
sub eax, dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
je 0x515a81
push eax
push dword [ebp - 0x28]
call fcn.00402bd5
pop ecx
pop ecx
lea eax, [ebp - 0x158]
or dword [ebp - 4], 0xffffffff
push eax
lea eax, [ebp - 0x698]
push eax
push 0x678f20
lea eax, [ebp - 0x698]
push 0x400
push eax
mov byte [ebp - 0x59], bl
call edi
add esp, 0x14
mov byte [ebp - 0x299], bl
jmp 0x515ceb
call fcn.0056b7d0
mov ecx, eax
call fcn.0056b875
call fcn.0051bd44
cmp dword [eax + 0x2fec], 3
je 0x515cb9
lea eax, [ebp - 0x698]
push 0x400
push eax
call fcn.0051bd44
mov ecx, eax
call fcn.005509aa
test al, al
je 0x515b20
call dword [sym.imp.GraphicData.dll_GameDataSetQuery]
mov esi, eax
call fcn.0040311a
push ebx
push ebx
mov edi, eax
mov eax, dword [esi]
push 0xff0000
push 0x7d5
push 0x280f
mov ecx, esi
call dword [eax + 0x3c]
push eax
mov ecx, edi
call fcn.004d9a57
lea ecx, [ebp - 0x13d4]
call fcn.00573d34
push ebx
push ebx
push dword [ebp + 0x1c]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0x698]
push dword [ebp + 0x18]
mov eax, dword [esi + 0x10c]
mov dword [ebp - 4], 0xc
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ecx
push edi
push eax
lea ecx, [ebp - 0x13d4]
call fcn.00573df0
test eax, eax
je 0x515b6f
lea ecx, [ebp - 0x13d4]
call fcn.005356b9
movzx eax, word [ebp + 0x18]
sub eax, 0x7d1
je 0x515ba3
dec eax
dec eax
je 0x515b88
sub eax, 6
je 0x515ba3
jmp 0x515caa
lea eax, [ebp - 0x698]
push 1
push eax
push edi
call fcn.0050ed28
mov ecx, eax
call fcn.0050edc6
jmp 0x515caa
push edi
call sub.MSVCRT.dll_strlen
test eax, eax
pop ecx
jbe 0x515caa
push edi
call sub.MSVCRT.dll_strlen
pop ecx
add eax, edi
push eax
push edi
lea ecx, [esi + 0x8f0]
call fcn.004029af
lea eax, [ebp - 0x698]
push eax
call sub.MSVCRT.dll_strlen
pop ecx
lea eax, [ebp + eax - 0x698]
push eax
lea eax, [ebp - 0x698]
push eax
lea ecx, [esi + 0x8fc]
call fcn.004029af
lea eax, [ebp - 0x24]
push edi
push eax
mov ecx, esi
call fcn.00554422
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 0xd
cmp eax, ebx
je 0x515c8c
cmp dword [eax + 0x14], ebx
jne 0x515c87
mov al, byte [0x68f370]
push 0x3f
mov byte [ebp - 0x798], al
pop ecx
xor eax, eax
lea edi, [ebp - 0x797]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x698]
push eax
lea eax, [ebp - 0x798]
push dword [ebp + 8]
push 0x677340
push 0xff
push eax
call dword [sym.imp.MSVCRT.dll__snprintf]
add esp, 0x14
lea eax, [ebp - 0x798]
mov byte [ebp - 0x699], bl
push eax
call fcn.0040311a
mov ecx, eax
add ecx, 0x38
call fcn.0056bdd8
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x698]
push ecx
mov eax, dword [eax + 4]
push eax
call fcn.0051bd44
mov ecx, eax
call fcn.0055484b
mov esi, dword [ebp - 0x10]
cmp dword [ebp - 0x24], ebx
jne 0x515c9a
lea eax, [ebp - 0x698]
mov ecx, esi
push eax
call fcn.0051e30a
mov ecx, dword [ebp - 0x20]
mov byte [ebp - 4], 0xc
cmp ecx, ebx
je 0x515caa
call fcn.004039fd
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x13d4]
call fcn.00573db2
cmp word [ebp + 0x18], 0x7d1
je 0x515d1f
cmp word [ebp + 0x18], 0x7d9
jne 0x515ceb
call dword [sym.imp.GraphicData.dll_GameDataSetQuery]
mov edx, dword [eax]
push 0x186ba
mov ecx, eax
call dword [edx + 0x3c]
push eax
push dword [ebp + 8]
call dword [sym.imp.MSVCRT.dll__stricmp]
pop ecx
test eax, eax
pop ecx
jne 0x515d2f
mov eax, dword [ebp - 0x10]
mov esi, dword [eax + 0x10c]
call fcn.0040311a
mov edi, eax
call fcn.005950a4
push eax
lea eax, [ebp - 0x698]
push dword [ebp + 0x18]
mov ecx, edi
push dword [ebp + 0x1c]
push dword [ebp + 0x14]
push eax
push dword [ebp + 0x10]
push dword [ebp + 8]
push esi
call fcn.004d8237
cmp word [ebp + 0x18], 0x7d2
je 0x515d3e
cmp word [ebp + 0x18], 0x7d1
je 0x515d3e
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x698]
push eax
call fcn.0053319a
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 0x18