Function at 0x4a2560
Capabilities:
Accept command line arguments
Check if file exists
Create directory
Get file attributes
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x627c75
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x90c
push ebx
push ebp
push esi
push edi
xor ebp, ebp
push 0x32
mov dword [esp + 0x1c], ebp
call fcn.00613321
push 0x32
call fcn.00613321
add esp, 8
lea eax, [esp + 0x94]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov eax, dword [0xa2b0ac]
mov ebx, dword [sym.imp.USER32.dll_UpdateWindow]
cmp eax, ebp
je 0x4a25bd
push eax
call ebx
call fcn.00586c60
mov ecx, 0x68ec20
call fcn.0040fb20
lea ecx, [esp + 0x98]
call fcn.0049cec0
mov ecx, dword [0x6486d8]
and ecx, 0xffff
push ecx
push str.Bf_Client
call fcn.005bda60
mov esi, dword [sym.imp.KERNEL32.dll_GetACP]
add esp, 8
call esi
cmp eax, 0x3a8
je 0x4a2673
call esi
cmp eax, 0x3b6
jne 0x4a266a
mov edi, 0x642248
or ecx, 0xffffffff
xor eax, eax
mov byte [0x648701], 1
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [0xa4f274], 1
mov edx, ecx
mov esi, edi
mov edi, 0x6486dc
push 0x656d34
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x656d2c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x6486f0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x4a26d6
call esi
cmp eax, 0x3a4
jne 0x4a26c2
mov edi, 0x642240
or ecx, 0xffffffff
xor eax, eax
mov byte [0x648701], 1
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x6486dc
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x644058
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x6486f0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp dword [0xa4f274], ebp
je 0x4a26d1
push 0x656d34
jmp 0x4a26d6
push 0x656d18
push 0x6416d0
push 0xa27100
call fcn.006133d6
mov eax, dword [0x6a0478]
add esp, 0xc
cmp eax, ebp
jne 0x4a2755
mov ecx, 0xf
xor eax, eax
lea edi, [esp + 0x11c]
lea edx, [esp + 0x138]
rep stosd dword es:[edi], eax
mov edi, 0x6486dc
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov byte [esp + 0x133], 1
mov eax, ecx
mov esi, edi
mov edi, edx
mov dword [esp + 0x11c], 0xfffffff4
shr ecx, 2
mov dword [esp + 0x120], ebp
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x11c]
push ecx
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
mov dword [0x6a0478], eax
lea edx, [esp + 0x9c]
lea eax, [esp + 0x68]
push edx
push eax
call fcn.00426e60
mov eax, dword [esp + 0x70]
add esp, 8
cmp eax, 0x600
jae 0x4a2789
push str.This_game_must_have_DirectX_Version_6.0_or_above_
call fcn.00425bf0
add esp, 4
xor eax, eax
jmp 0x4a43d8
mov esi, dword [esp + 0x92c]
push 0x64
push esi
mov dword [esp + 0x74], 0xb
mov dword [esp + 0x78], 0x4a1140
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x80], ebp
mov dword [esp + 0x84], esi
call dword [sym.imp.USER32.dll_LoadIconA]
push 4
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ebp
call dword [sym.imp.GDI32.dll_GetStockObject]
lea ecx, [esp + 0x6c]
mov dword [esp + 0x88], eax
push ecx
mov dword [esp + 0x90], ebp
mov dword [esp + 0x94], str.Elysium
call dword [sym.imp.USER32.dll_RegisterClassA]
cmp dword [0x6486c8], ebp
je 0x4a2895
lea edx, [esp + 0x1c]
push edx
push 0x68ef6c
push str.Shell_traywnd
call dword [sym.imp.USER32.dll_FindWindowA]
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
push ebp
push esi
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push ebp
push ebp
push 8
call esi
push 0x37
mov edi, eax
call esi
lea eax, [eax + edi*2 + 0x300]
push eax
push 7
call esi
lea ecx, [eax + eax + 0x400]
push ecx
push 8
call esi
mov edx, dword [esp + 0x38]
mov ecx, eax
lea eax, [edx - 0x300]
cdq
sub eax, edx
sar eax, 1
sub eax, ecx
push eax
push 7
call esi
mov edx, dword [esp + 0x40]
mov ecx, eax
lea eax, [edx - 0x400]
cdq
sub eax, edx
sar eax, 1
sub eax, ecx
push eax
mov eax, dword [esp + 0xb0]
push 0xa0000
push 0xa27100
push eax
push ebp
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [0xa2af98], eax
jmp 0x4a28d9
push ebp
push esi
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push ebp
push ebp
push 1
call esi
push eax
push ebp
call esi
push eax
mov eax, dword [esp + 0xa8]
push ebp
push ebp
push connect
push eax
push eax
push 8
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov ecx, dword [esp + 0x930]
mov dword [0xa2af98], eax
push ecx
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [0xa2af98]
cmp eax, ebp
jne 0x4a28f1
push str.Initial_new_window_failure_
call fcn.00425bf0
add esp, 4
xor eax, eax
jmp 0x4a43d8
push eax
call ebx
push ebp
call dword [sym.imp.USER32.dll_ShowCursor]
mov eax, dword [0xa2b0ac]
cmp eax, ebp
je 0x4a2907
push eax
call ebx
call dword [sym.imp.KERNEL32.dll_GetVersion]
call fcn.005a2270
call fcn.005a3290
call fcn.005a43e0
call fcn.005a4cc0
push ebp
push 0x62f328
push 0xa4eff4
push eax
call sub.DDRAW.dll_DirectDrawCreateEx
test eax, eax
je 0x4a294a
push str.Initial_direct_draw_device_failure_
call fcn.00425bf0
add esp, 4
xor eax, eax
jmp 0x4a43d8
mov ecx, 0x5f
xor eax, eax
lea edi, [esp + 0x324]
rep stosd dword es:[edi], eax
mov ecx, 0x5f
lea edi, [esp + 0x4a0]
rep stosd dword es:[edi], eax
mov eax, 0x17c
lea ecx, [esp + 0x4a0]
mov dword [esp + 0x324], eax
mov dword [esp + 0x4a0], eax
mov eax, dword [0xa4eff4]
push ecx
lea ecx, [esp + 0x328]
mov edx, dword [eax]
push ecx
push eax
call dword [edx + 0x2c]
mov eax, dword [0x6486c8]
mov ebx, 0x400
cmp eax, ebp
je 0x4a2a22
mov eax, dword [0xa4eff4]
mov ecx, dword [0xa2af98]
push 8
push ecx
mov edx, dword [eax]
push eax
call dword [edx + 0x50]
test eax, eax
je 0x4a29d0
push str.Set_cooperative_level_error_
call fcn.00425bf0
add esp, 4
xor eax, eax
jmp 0x4a43d8
mov edx, dword [0xa2af98]
mov esi, dword [sym.imp.USER32.dll_GetClientRect]
push 0x647e40
push edx
call esi
mov eax, dword [0xa2af98]
push 0x647e50
push eax
call esi
mov ecx, dword [0xa2af98]
mov esi, dword [sym.imp.USER32.dll_ClientToScreen]
push 0x647e50
push ecx
call esi
mov edx, dword [0xa2af98]
push 0x647e58
push edx
call esi
mov eax, dword [0x6486c8]
mov dword [0xd36a78], eax
jmp 0x4a2ad7
mov ecx, dword [0xa4eff4]
mov eax, dword [ecx]
cmp byte [eax + 0x50], 0xbc
jne 0x4a2a37
xor eax, eax
jmp 0x4a43d8
mov edx, dword [0xa2af98]
push 0x11
push edx
push ecx
call dword [eax + 0x50]
test eax, eax
je 0x4a2a5c
push str.Set_cooperative_level_error_
call fcn.00425bf0
add esp, 4
xor eax, eax
jmp 0x4a43d8
mov eax, dword [0xa4eff4]
push ebp
push ebp
push 0x10
mov ecx, dword [eax]
push 0x300
push ebx
push eax
call dword [ecx + 0x54]
test eax, eax
je 0x4a2a89
push str.Set_diaplay_mode_error_
call fcn.00425bf0
add esp, 4
xor eax, eax
jmp 0x4a43d8
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [0xa2af98]
mov esi, dword [sym.imp.USER32.dll_GetClientRect]
push 0x647e40
push edx
call esi
mov eax, dword [0xa2af98]
push 0x647e50
push eax
call esi
mov ecx, dword [0xa2af98]
mov esi, dword [sym.imp.USER32.dll_ClientToScreen]
push 0x647e50
push ecx
call esi
mov edx, dword [0xa2af98]
push 0x647e58
push edx
call esi
push str.._bitmapscursorlogin.ani
mov ecx, 0x682148
call fcn.005a20e0
push str.._bitmapscursorlogin.ani
mov ecx, 0x682148
mov dword [0xa2af94], eax
call fcn.005a20e0
push str.._bitmapscursorcursor_normal.ani
mov ecx, 0x682148
mov dword [0xa27024], eax
call fcn.005a20e0
push str.._bitmapscursorcursor_normal_light.ani
mov ecx, 0x682148
mov dword [0xa27058], eax
call fcn.005a20e0
push str.._bitmapscursorcursor_magic_attack.ani
mov ecx, 0x682148
mov dword [0xa27028], eax
call fcn.005a20e0
push str.._bitmapscursorcursor_attack.ani
mov ecx, 0x682148
mov dword [0xa2702c], eax
call fcn.005a20e0
push str.._bitmapscursorcursor_stop.cur
mov ecx, 0x682148
mov dword [0xa27030], eax
call fcn.005a20e0
push str.._bitmapscursorcursor_pickup.ani
mov ecx, 0x682148
mov dword [0xa27034], eax
call fcn.005a20e0
push str.._bitmapscursorcursor_talk.ani
mov ecx, 0x682148
mov dword [0xa27038], eax
call fcn.005a20e0
push str.._bitmapscursor_sale.ani
mov ecx, 0x682148
mov dword [0xa2703c], eax
call fcn.005a20e0
push str.._bitmapscursor_repair.ani
mov ecx, 0x682148
mov dword [0xa27040], eax
call fcn.005a20e0
push str.._bitmapscursorcursor_point.cur
mov ecx, 0x682148
mov dword [0xa27044], eax
call fcn.005a20e0
push str.._bitmapscursor_ruhun.ani
mov ecx, 0x682148
mov dword [0xa27048], eax
call fcn.005a20e0
push str.._bitmapscursoruplevel.ani
mov ecx, 0x682148
mov dword [0xa2704c], eax
call fcn.005a20e0
push str.._bitmapscursor_select_er.ani
mov ecx, 0x682148
mov dword [0xa27050], eax
call fcn.005a20e0
mov dword [0xa27054], eax
mov eax, dword [0xa2af94]
push eax
mov dword [0xa2705c], ebp
call dword [sym.imp.USER32.dll_SetCursor]
test dword [esp + 0x32c], 0x80000
je 0x4a2c2c
mov dword [0xd36a7c], 1
mov ecx, dword [0xa2af98]
push ecx
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, 0x1f
xor eax, eax
lea edi, [esp + 0xa0]
mov esi, 0x7c
rep stosd dword es:[edi], eax
mov eax, dword [0xa4eff4]
push ebp
lea ecx, [esp + 0xa4]
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa8], 1
mov dword [esp + 0x10c], 0x200
mov edx, dword [eax]
push 0xa4effc
push ecx
push eax
call dword [edx + 0x18]
test eax, eax
je 0x4a2c9c
push str.Create_primary_surface_error_
call fcn.00425bf0
add esp, 4
xor eax, eax
jmp 0x4a43d8
cmp dword [0x6486c8], ebp
jne 0x4a2cac
cmp dword [0xd36a7c], ebp
je 0x4a2d0c
mov eax, dword [0xa4eff4]
push ebp
push 0xa4eff8
push ebp
mov edx, dword [eax]
push eax
call dword [edx + 0x10]
test eax, eax
je 0x4a2cd6
push str.Create_clipper_error_
call fcn.00425bf0
add esp, 4
xor eax, eax
jmp 0x4a43d8
mov eax, dword [0xa4eff8]
mov edx, dword [0xa2af98]
push edx
push ebp
mov ecx, dword [eax]
push eax
call dword [ecx + 0x20]
mov eax, dword [0xa4effc]
mov edx, dword [0xa4eff8]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x70]
mov eax, dword [0xa4eff8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov dword [0xa4eff8], ebp
mov ecx, 0x1f
xor eax, eax
lea edi, [esp + 0xa0]
mov ebp, 0x4040
rep stosd dword es:[edi], eax
mov eax, dword [0xa4eff4]
push 0
lea ecx, [esp + 0xa4]
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa8], 7
mov dword [esp + 0x10c], ebp
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xac], 0x300
mov edx, dword [eax]
push 0xa4f000
push ecx
push eax
call dword [edx + 0x18]
test eax, eax
je 0x4a2d7e
push str.Create_back_surface_error_BCK_
call fcn.00425bf0
add esp, 4
xor eax, eax
jmp 0x4a43d8
mov ecx, 0x1f
xor eax, eax
lea edi, [esp + 0xa0]
rep stosd dword es:[edi], eax
mov eax, dword [0xa4effc]
lea ecx, [esp + 0xa0]
mov dword [esp + 0xa0], esi
push ecx
mov edx, dword [eax]
push eax
call dword [edx + 0x58]
mov ecx, dword [esp + 0xb0]
mov dword [0xa2b134], 0
mov eax, 0xa2b138
mov edx, dword [eax - 4]
add eax, 4
add edx, ecx
cmp eax, 0xa2d134
mov dword [eax - 4], edx
jl 0x4a2dbe
mov ecx, 0x1f
xor eax, eax
lea edi, [esp + 0xa0]
push 0
rep stosd dword es:[edi], eax
mov eax, dword [0xa4eff4]
lea edx, [esp + 0xa4]
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa8], 7
mov dword [esp + 0x10c], ebp
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xac], 0x300
mov ecx, dword [eax]
push 0xa4f004
push edx
push eax
call dword [ecx + 0x18]
test eax, eax
je 0x4a2e3d
push str.Create_back_surface_error_TEX_
call fcn.00425bf0
add esp, 4
xor eax, eax
jmp 0x4a43d8
mov ecx, 0x1f
xor eax, eax
lea edi, [esp + 0xa0]
lea edx, [esp + 0xa0]
rep stosd dword es:[edi], eax
mov eax, dword [0xa4eff4]
mov dword [esp + 0xac], ebx
xor ebx, ebx
mov dword [esp + 0xa0], esi
push ebx
mov dword [esp + 0xa8], 7
mov dword [esp + 0x10c], 0x840
mov dword [esp + 0xac], 0x300
mov ecx, dword [eax]
push 0xa4f008
push edx
push eax
call dword [ecx + 0x18]
cmp eax, ebx
je 0x4a2eaf
push str.Create_surface_error_
call fcn.00425bf0
add esp, 4
xor eax, eax
jmp 0x4a43d8
mov eax, dword [0xa2b0ac]
cmp eax, ebx
je 0x4a2ebf
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
mov eax, dword [0xa4f00c]
mov ecx, dword [0xa4f008]
mov edx, dword [0xa4f000]
push 0xa4f004
push eax
mov eax, dword [0xa4effc]
push ecx
mov ecx, dword [0xa4eff4]
push edx
mov edx, dword [0xa26fd8]
push eax
mov eax, dword [0xa2af98]
push ecx
push edx
push eax
call fcn.005a5250
call fcn.0041afe0
mov ecx, dword [0xa4f008]
push ecx
call fcn.005a7a50
mov edi, 1
push edi
push 0xe
push 0x642248
push 0xe
push str.Arial
call fcn.005a7a60
mov eax, dword [esp + 0x364]
add esp, 0x38
test eax, 0x20000
je 0x4a2f69
mov eax, dword [0xa4effc]
mov dword [0xa4f1a8], edi
push 0xa27008
push 0x62f2f8
mov edx, dword [eax]
push eax
call dword [edx]
cmp eax, ebx
je 0x4a2f64
push str.Query_gamma_control_error_
call fcn.00425bf0
add esp, 4
xor eax, eax
jmp 0x4a43d8
call fcn.004a2370
mov ecx, dword [sym.imp.MyDivX.dll_gOGGDSoundInfo]
mov eax, 0xac44
mov dword [ecx + 4], eax
mov edx, dword [sym.imp.MyDivX.dll_gOGGDSoundInfo]
mov dword [edx + 8], eax
mov eax, dword [sym.imp.MyDivX.dll_gOGGDSoundInfo]
mov ecx, dword [0xa2af98]
push eax
push ecx
call dword [sym.imp.MyDivX.dll_InitOGGSoundSystem]
add esp, 8
cmp al, 0xff
jne 0x4a2fa7
push str.Initial_OGG_sound_system_failure_
call fcn.00425bf0
add esp, 4
push 0x1a8
call fcn.00613321
add esp, 4
mov dword [esp + 0x14], eax
mov esi, dword [sym.imp.MyDivX.dll_public:_void___thiscall_OGGAudio::constructor_void_]
cmp eax, ebx
mov dword [esp + 0x924], ebx
je 0x4a2fcf
mov ecx, eax
call esi
jmp 0x4a2fd1
xor eax, eax
or ebp, 0xffffffff
push 0x1a8
mov dword [esp + 0x928], ebp
mov dword [0xa43b1c], eax
call fcn.00613321
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebx
mov dword [esp + 0x924], edi
je 0x4a3002
mov ecx, eax
call esi
jmp 0x4a3004
xor eax, eax
mov ecx, dword [0xa43b1c]
mov esi, dword [sym.imp.MyDivX.dll_public:_long_int___thiscall_OGGAudio::Init_void_]
mov dword [esp + 0x924], ebp
mov dword [0xa43b18], eax
call esi
mov ecx, dword [0xa43b18]
call esi
mov ecx, dword [0xa43b1c]
mov dword [0xa4ef6c], ecx
call dword [sym.imp.MyDivX.dll_public:_int___thiscall_OGGAudio::StopOGGAudio_void_]
mov eax, dword [sym.imp.MyDivX.dll_gOGGDSoundInfo]
mov ecx, dword [0xa2af98]
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
push edx
push eax
push ecx
mov ecx, 0xa26508
call fcn.00496750
call fcn.00550d90
mov eax, dword [0xa2b0ac]
cmp eax, ebx
je 0x4a306b
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
mov ecx, 0x19
xor eax, eax
lea edi, [esp + 0x2c0]
rep stosd dword es:[edi], eax
mov eax, dword [0xa4effc]
lea ecx, [esp + 0x2c0]
push ecx
push 0x600
push ebx
mov dword [esp + 0x2cc], 0x64
mov dword [esp + 0x31c], ebx
mov edx, dword [eax]
push ebx
push 0x647e50
push eax
call dword [edx + 0x14]
push 0xb1544
call fcn.00613321
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebx
mov dword [esp + 0x924], 2
je 0x4a30ee
push fcn.004276c0
push 0x4a44f0
lea esi, [eax + 4]
push 0xec70
push 0xc
push esi
mov dword [eax], 0xec70
call fcn.00613f27
jmp 0x4a30f0
xor esi, esi
push 0xc0000
mov dword [esp + 0x928], ebp
mov dword [0xa4f2b8], esi
call fcn.00612db9
mov edi, eax
mov ecx, 0x30000
mov eax, 0x40404040
mov dword [0x675a7c], edi
rep stosd dword es:[edi], eax
push 0x180000
call fcn.00612db9
mov edi, eax
mov ecx, 0x60000
xor eax, eax
push ebx
mov dword [0x675a90], edi
push 0xa4f03e
rep stosd dword es:[edi], eax
push str..BitmapsDysLight.alp
call fcn.005a5ad0
push ebx
push 0xa4f03c
push str..BitmapsLightMap.alp
mov dword [0xa4f024], eax
call fcn.005a5ad0
mov dword [0xa4f020], eax
mov eax, dword [0xa2b0ac]
add esp, 0x20
cmp eax, ebx
je 0x4a3177
mov esi, dword [sym.imp.USER32.dll_UpdateWindow]
push eax
call esi
jmp 0x4a317d
mov esi, dword [sym.imp.USER32.dll_UpdateWindow]
call fcn.0049d560
mov edx, dword [0xa4eff4]
push str..RightUnderLoginImageLogin1024Image1.jpg
push edx
call fcn.00426990
add esp, 8
mov dword [0xcd59cc], eax
mov eax, dword [0xa4f274]
push ebx
push ebx
push 0xce80b0
push 0xa257d8
cmp eax, ebx
push ebx
push 0xce80b4
je 0x4a31bd
push str..BitmapsLoginlogin01.wsa
jmp 0x4a31c2
push str..BitmapsInterfaceWSANotBig5login01.wsa
call fcn.005a5e90
add esp, 0x1c
mov dword [0xce80ac], eax
push ebx
push ebx
push 0xce80a4
push 0xa257d8
push ebx
push 0xce80a8
push str..BitmapsLogin_showadvice.wsa
call fcn.005a5e90
mov dword [0xce80a0], eax
mov eax, dword [0xa2b0ac]
add esp, 0x1c
cmp eax, ebx
je 0x4a31ff
push eax
call esi
push ebx
push ebx
push ebx
push 0xa257d8
push ebx
push 0xa4f040
push str..BitmapsTools.wsa
call fcn.005a5e90
push ebx
push ebx
push ebx
push 0xa257d8
push ebx
push 0xa4f042
push str..BitmapsDigit.wsa
mov dword [0xa4f028], eax
call fcn.005a5e90
push ebx
push ebx
push 0xa4f034
push 0xa257d8
push ebx
push 0xa4f044
push str..BitmapsRains.wsa
mov dword [0xa4f02c], eax
call fcn.005a5e90
add esp, 0x54
mov dword [0xa4f030], eax
push ebx
push 0xa4f048
push str..BitmapsLight.alp
call fcn.005a5ad0
add esp, 0xc
mov dword [0xa4f038], eax
mov word [0xd0696c], bx
mov word [0xd1108c], bx
call fcn.005565c0
mov eax, dword [0xa2b0ac]
cmp eax, ebx
je 0x4a3294
push eax
call esi
call fcn.00426280
push 0x162a80
call fcn.00612db9
push 0x480000
mov dword [0xa4f17c], eax
call fcn.00612db9
mov dword [0xa4f180], eax
mov eax, dword [0xa2b0ac]
add esp, 8
cmp eax, ebx
je 0x4a32c6
push eax
call esi
call fcn.005a44e0
mov ecx, 0x69fe60
mov dword [0xa25c10], eax
mov dword [0xa4efc8], 1
call fcn.004293a0
push 0x9ff3ff
mov ecx, 0x69fe60
call fcn.0042bcc0
push 0x12
push 0x48
mov ecx, 0x69fe60
call fcn.004293d0
mov al, byte [0x648701]
mov ecx, 0x69fe60
push eax
push 0xc
push 0x6486dc
push 0xc
push str.Arial
call fcn.00429430
push ebx
push ebx
push 0x6d6823
mov ecx, 0x69fe60
call fcn.004294b0
mov ecx, 0x6a02d0
call fcn.004293a0
push 0xd6eff7
mov ecx, 0x6a02d0
call fcn.0042bcc0
push 0x12
push 0x64
mov ecx, 0x6a02d0
call fcn.004293d0
mov cl, byte [0x648701]
push ecx
push 0xc
push 0x6486dc
push 0xc
push str.Arial
mov ecx, 0x6a02d0
call fcn.00429430
mov ecx, 0x6a0378
call fcn.0042a400
push 0xd6eff7
mov ecx, 0x6a0378
call fcn.0042acd0
push 3
push 0x12c
push 0x118
push 0x112
mov ecx, 0x6a0378
call fcn.0042a460
mov dl, byte [0x648701]
mov ecx, 0x6a0378
push edx
push 0xc
push 0x6486dc
push 0xc
push str.Arial
call fcn.0042a550
mov ecx, 0x69fde8
call fcn.004293a0
push 0xd6eff7
mov ecx, 0x69fde8
call fcn.0042bcc0
push 0x12
push 0xa0
mov ecx, 0x69fde8
call fcn.004293d0
mov al, byte [0x648701]
mov ecx, 0x69fde8
push eax
push 0xc
push 0x6486dc
push 0xc
push str.Arial
call fcn.00429430
mov eax, dword [0xa2b0ac]
cmp eax, ebx
je 0x4a341d
push eax
call esi
mov eax, dword [0x6a1bbc]
mov esi, dword [eax]
cmp esi, eax
je 0x4a3461
mov eax, dword [esi + 8]
push eax
call fcn.006066eb
mov eax, dword [esi + 4]
mov edi, dword [esi]
push esi
mov dword [eax], edi
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov dword [ecx + 4], edx
call fcn.006066eb
mov edx, dword [0x6a1bc0]
mov eax, dword [0x6a1bbc]
add esp, 8
dec edx
cmp edi, eax
mov dword [0x6a1bc0], edx
mov esi, edi
jne 0x4a3428
mov esi, dword [eax]
mov edi, eax
cmp esi, edi
je 0x4a3496
mov eax, esi
mov esi, dword [esi]
push eax
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov dword [ecx], edx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
call fcn.006066eb
mov ecx, dword [0x6a1bc0]
add esp, 4
dec ecx
cmp esi, edi
mov dword [0x6a1bc0], ecx
jne 0x4a3469
mov edi, dword [0x6a1bac]
mov esi, dword [edi]
cmp esi, edi
je 0x4a34cf
mov eax, esi
mov esi, dword [esi]
push eax
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov dword [ecx], edx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
call fcn.006066eb
mov ecx, dword [0x6a1bb0]
add esp, 4
dec ecx
cmp esi, edi
mov dword [0x6a1bb0], ecx
jne 0x4a34a2
mov edi, dword [0xa032d4]
mov esi, dword [edi]
cmp esi, edi
je 0x4a3508
mov eax, esi
mov esi, dword [esi]
push eax
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov dword [ecx], edx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
call fcn.006066eb
mov ecx, dword [0xa032d8]
add esp, 4
dec ecx
cmp esi, edi
mov dword [0xa032d8], ecx
jne 0x4a34db
push ebx
push ebx
push 0xa4f050
push 0xa257d8
push ebx
push 0xa4f054
push str..BitmapsCursorHead_red.WSA
mov dword [0xa26ff0], ebx
mov dword [0xa43a60], ebx
call fcn.005a5e90
push ebx
push ebx
push 0xa4f05c
push 0xa257d8
push ebx
push 0xa4f060
push str..BitmapsCursorgongjiyoubiao.WSA
mov dword [0xa4f04c], eax
call fcn.005a5e90
push ebx
push ebx
push 0xa4f068
push 0xa257d8
push ebx
push 0xa4f06c
push str..BitmapsCursorgongjiyoubiao_002.WSA
mov dword [0xa4f058], eax
call fcn.005a5e90
add esp, 0x54
mov dword [0xa4f064], eax
push ebx
push ebx
push 0xa4f074
push 0xa257d8
push ebx
push 0xa4f078
push str..BitmapsCursorHead_green.WSA
call fcn.005a5e90
push ebx
push ebx
push 0xa4f110
push 0xa257d8
push ebx
push 0xa4f114
push str..BitmapsCursormg_mouse_08.wsa
mov dword [0xa4f070], eax
call fcn.005a5e90
push ebx
push 0xa4f170
push 0xa4f16c
push 0xa257d8
push ebx
push 0xa4f174
push str..Bitmaps_screenalpha.wsa
mov dword [0xa4f10c], eax
call fcn.005a5e90
add esp, 0x54
mov dword [0xa4f168], eax
push ebx
push ebx
push 0xa4f080
push 0xa257d8
push ebx
push 0xa4f084
push str..BitmapsCursor_follow.WSA
call fcn.005a5e90
push ebx
push ebx
push 0xa4f08c
push 0xa257d8
push ebx
push 0xa4f090
push str..BitmapsCursor_follow_t.WSA
mov dword [0xa4f07c], eax
call fcn.005a5e90
push ebx
push ebx
push 0xa4f0e8
push 0xa257d8
mov dword [0xa4f088], eax
push ebx
push 0xa4f0ec
push str..BitmapsCursorcaptain.wsa
call fcn.005a5e90
add esp, 0x54
mov dword [0xa4f0e4], eax
push ebx
push ebx
push 0xa4f0f4
push 0xa257d8
push ebx
push 0xa4f0f8
push str..BitmapsCursorcaptain_f.wsa
call fcn.005a5e90
push ebx
push 0xa4f09c
push 0xa4f098
push 0xa257d8
push ebx
push 0xa4f0a0
push str..BitmapsCursorclaner2.WSA
mov dword [0xa4f0f0], eax
call fcn.005a5e90
push ebx
push 0xa4f0ac
push 0xa4f0a8
push 0xa257d8
push ebx
push 0xa4f0b0
push str..BitmapsCursorclaner1.WSA
mov dword [0xa4f094], eax
call fcn.005a5e90
add esp, 0x54
mov dword [0xa4f0a4], eax
push ebx
push 0xa4f0bc
push 0xa4f0b8
push 0xa257d8
push ebx
push 0xa4f0c0
push str..BitmapsCursorclanAssi2.WSA
call fcn.005a5e90
push ebx
push 0xa4f0cc
push 0xa4f0c8
push 0xa257d8
push ebx
push 0xa4f0d0
push str..BitmapsCursorclanAssi1.WSA
mov dword [0xa4f0b4], eax
call fcn.005a5e90
push ebx
push 0xa4f0dc
push 0xa4f0d8
push 0xa257d8
push ebx
push 0xa4f0e0
push str..BitmapsCursorchengzuqi.WSA
mov dword [0xa4f0c4], eax
call fcn.005a5e90
add esp, 0x54
mov dword [0xa4f0d4], eax
push ebx
push 0xa4f12c
push 0xa4f128
push 0xa257d8
push ebx
push 0xa4f130
push str..Bitmapsjzwz.WSA
call fcn.005a5e90
push ebx
push 0xa4f13c
push 0xa4f138
push 0xa257d8
push ebx
push 0xa4f140
push str..Bitmapsqmgq.WSA
mov dword [0xa4f124], eax
call fcn.005a5e90
push ebx
mov dword [0xa4f134], eax
push ebx
push 0xa439cc
push 0xa257d8
push ebx
push 0xa43a70
push str..BitmapsInterfaceWSAmoneycoin_1.WSA
call fcn.005a5e90
add esp, 0x54
mov dword [0xa4baec], eax
push ebx
push ebx
push 0xa439d0
push 0xa257d8
push ebx
push 0xa43a72
push str..BitmapsInterfaceWSAmoneycoin_2.WSA
call fcn.005a5e90
push ebx
push ebx
push 0xa439d4
push 0xa257d8
push ebx
push 0xa43a74
push str..BitmapsInterfaceWSAmoneycoin_3.WSA
mov dword [0xa4baf0], eax
call fcn.005a5e90
push ebx
push ebx
push 0xa439d8
push 0xa257d8
push ebx
push 0xa43a76
push str..BitmapsInterfaceWSAmoneycoin_4.WSA
mov dword [0xa4baf4], eax
call fcn.005a5e90
add esp, 0x54
mov dword [0xa4baf8], eax
push ebx
push ebx
push 0xa439dc
push 0xa257d8
push ebx
push 0xa43a78
push str..BitmapsInterfaceWSAmoneycoin_5.WSA
call fcn.005a5e90
push ebx
push ebx
push 0xa2e498
push 0xa257d8
push ebx
push 0xa2e590
push str..BitmapsInterfaceWSAwarp_shujinmen.WSA
mov dword [0xa4bafc], eax
call fcn.005a5e90
push ebx
push 0xa4f104
push 0xa4f100
push 0xa257d8
push ebx
push 0xa4f108
push str..BitmapsInterfaceWSAZ_001.WSA
mov dword [0xa43a68], eax
call fcn.005a5e90
add esp, 0x54
mov dword [0xa4f0fc], eax
mov eax, dword [0xa4f274]
push ebx
push ebx
push 0xa4f11c
push 0xa257d8
cmp eax, ebx
push ebx
push 0xa4f120
je 0x4a388a
push str..Bitmapspingdao.wsa
jmp 0x4a388f
push str..BitmapsInterfaceWSANotBig5pingdao.wsa
call fcn.005a5e90
mov dword [0xa4f118], eax
mov eax, dword [0xa2b0ac]
add esp, 0x1c
cmp eax, ebx
je 0x4a38b1
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
mov eax, dword [0xa2b0ac]
cmp dword [0xa4f274], ebx
jne 0x4a396f
mov esi, 0x666ce8
push ebx
push esi
call fcn.00586da0
add esi, 0xc
add esp, 8
cmp esi, 0x666d18
jl 0x4a38c2
mov esi, 0x666da8
push ebx
push esi
call fcn.00586da0
add esi, 0xa0
add esp, 8
cmp esi, 0x667028
jl 0x4a38dc
mov esi, 0x666d18
push ebx
push esi
call fcn.00586da0
add esi, 0xc
add esp, 8
cmp esi, 0x666d30
jl 0x4a38f9
mov esi, 0x666d30
push ebx
push esi
call fcn.00586da0
add esi, 0xc
add esp, 8
cmp esi, 0x666d6c
jl 0x4a3913
mov esi, 0x666d6c
push ebx
push esi
call fcn.00586da0
add esi, 0xc
add esp, 8
cmp esi, 0x666da8
jl 0x4a392d
mov esi, str.2003_06_05
push ebx
push esi
call fcn.00586da0
add esi, 0x64
add esp, 8
cmp esi, 0x666a8c
jl 0x4a3947
push ebx
push 0xce8224
call fcn.00586da0
mov eax, dword [0xa2b0ac]
add esp, 8
cmp eax, ebx
je 0x4a397a
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
call fcn.004a24a0
push 0xcf9d18
call fcn.005a7810
add esp, 4
call fcn.0040e3c0
mov ecx, 0x17b
xor eax, eax
mov edi, 0xa512c0
lea edx, [esp + 0x2a0]
rep stosd dword es:[edi], eax
mov ecx, 0xf
lea edi, [esp + 0x284]
rep stosd dword es:[edi], eax
mov edi, str.Arial
mov ecx, ebp
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov byte [esp + 0x29b], 1
mov eax, ecx
mov esi, edi
mov edi, edx
mov dword [esp + 0x284], 0xe
shr ecx, 2
mov dword [esp + 0x288], 9
push ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x31
and ecx, 3
push 0x58
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0xa4effc]
push ecx
mov ecx, 0xa4ba58
call fcn.00428160
push 0x2e1106
mov ecx, 0xa4ba58
call fcn.00429180
lea edx, [esp + 0x284]
mov ecx, 0xa4ba58
push edx
call fcn.00428270
push 1
mov ecx, 0xa4ba58
call fcn.00429160
mov eax, dword [0xa4effc]
push 1
push 0x14
push 0x58
push eax
mov ecx, 0xa43a80
call fcn.00428160
push 0x2e1106
mov ecx, 0xa43a80
call fcn.00429180
lea ecx, [esp + 0x284]
push ecx
mov ecx, 0xa43a80
call fcn.00428270
push ebx
mov ecx, 0xa43a80
call fcn.00429160
mov eax, dword [0xa2b0ac]
cmp eax, ebx
je 0x4a3a86
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
call fcn.004419a0
push 1
call dword [sym.imp.USER32.dll_ShowCursor]
mov ecx, 0xd12078
call fcn.005897a0
push 0
push 0
mov ecx, dword [0xa4ef6c]
push 0
push 0
push 0
push 0
push 1
push 0
push 0
push str..MusicInterface.ogg
call dword [sym.imp.MyDivX.dll_public:_int___thiscall_OGGAudio::PlayOGGAudio_char___double__int__double__int__float__float__float_]
push str..mapscommondata.ifl
mov ecx, 0x6a06b0
call fcn.0043cd00
mov ecx, 0x6a06b0
call fcn.0043d120
mov ecx, 0x6a06b0
call fcn.0043d350
mov ecx, 0x6a06b0
call fcn.0043d580
push str.._txtmercenary.txt
mov ecx, 0xa26398
call fcn.0048ebb0
push str.._txtcitywartime.txt
mov ecx, 0xa26368
call fcn.0048ee70
mov edx, str.._txtNpcputmonster.txt
mov ebp, 0x62d4ac
test edx, edx
mov ebx, vtable.std::istrstream.0
je 0x4a3e63
mov edi, dword [0x6a03fc]
mov esi, dword [edi]
cmp esi, edi
je 0x4a3b46
mov eax, esi
mov esi, dword [esi]
push eax
lea eax, [esp + 0x18]
push eax
mov ecx, 0x6a03f8
call fcn.004a6770
cmp esi, edi
jne 0x4a3b2e
mov edi, vtable.std::basic_ios_char__struct_std::char_traits_char__.0
mov dword [esp + 0x1f0], ebp
mov dword [esp + 0x274], 0
mov dword [esp + 0x250], edi
mov dword [esp + 0x18], 1
push str.._txtNpcputmonster.txt
lea ecx, [esp + 0x1f4]
mov dword [esp + 0x928], 3
call fcn.0040e590
push 0
lea ecx, [esp + 0x1fc]
push 0
push ecx
lea ecx, [esp + 0x1fc]
mov dword [esp + 0x258], eax
mov esi, eax
call fcn.0048f4b0
push 0
push esi
lea ecx, [esp + 0x200]
mov dword [esp + 0x92c], 5
call fcn.004a4400
mov edx, dword [esp + 0x1f0]
mov eax, dword [edx + 4]
mov dword [esp + eax + 0x1f0], ebx
mov ecx, dword [esp + 0x1f0]
mov edx, dword [ecx + 4]
mov ecx, 0x62d4a8
mov dword [esp + edx + 0x1f0], ecx
mov eax, dword [esp + 0x1f0]
mov dword [esp + 0x924], 6
mov eax, dword [eax + 4]
test byte [esp + eax + 0x1f4], 6
je 0x4a3c47
mov dword [esp + eax + 0x1f0], ecx
mov eax, dword [esp + 0x24c]
test eax, eax
mov dword [esp + 0x924], 0xffffffff
je 0x4a3c2f
push eax
call fcn.006066eb
add esp, 4
lea ecx, [esp + 0x248]
call fcn.00606a91
mov dword [esp + 0x250], edi
jmp 0x4a3e57
mov edi, 0x68ef6c
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x2c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
xor eax, eax
rep movsb byte es:[edi], byte [esi]
mov word [esp + 0x3a], ax
mov dword [esp + 0x3c], eax
mov word [esp + 0x40], ax
mov word [esp + 0x42], ax
mov word [esp + 0x44], ax
mov cl, byte [esp + 0x13]
mov dword [esp + 0x4c], eax
mov byte [esp + 0x48], cl
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov byte [esp + 0x924], 8
lea edx, [esp + 0x48]
lea eax, [esp + 0x1f0]
push edx
push eax
call fcn.0043eee0
add esp, 8
test eax, eax
jne 0x4a3cc0
xor ecx, ecx
jmp 0x4a3cc7
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
mov edx, dword [ecx + 4]
and dl, 6
neg dl
sbb edx, edx
not edx
test ecx, edx
je 0x4a3d95
mov edi, dword [esp + 0x4c]
test edi, edi
jne 0x4a3ce8
mov edi, 0x62d4bc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x2c]
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x40]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0x44]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x42]
push ecx
push edx
lea ecx, [esp + 0x44]
push eax
lea edx, [esp + 0x46]
push ecx
push edx
lea ecx, [esp + 0x204]
call fcn.00414000
mov ecx, eax
call fcn.0040e7b0
mov ecx, eax
call fcn.00414000
mov ecx, eax
call fcn.00414000
mov ecx, eax
call fcn.00414000
mov esi, dword [0x6a03fc]
push 0x24
mov edi, dword [esi + 4]
call fcn.00613321
add esp, 4
mov ecx, esi
test esi, esi
jne 0x4a3d65
mov ecx, eax
test edi, edi
mov dword [eax], ecx
jne 0x4a3d6d
mov edi, eax
mov dword [eax + 4], edi
mov dword [esi + 4], eax
mov ecx, dword [eax + 4]
lea edi, [eax + 8]
test edi, edi
mov dword [ecx], eax
je 0x4a3d8a
mov ecx, 7
lea esi, [esp + 0x2c]
rep movsd dword es:[edi], dword [esi]
inc dword [0x6a0400]
jmp 0x4a3ca3
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x4a3dba
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4a3db1
cmp al, 0xff
je 0x4a3db1
dec al
mov byte [ecx], al
jmp 0x4a3dba
push ecx
call fcn.006066eb
add esp, 4
mov edi, 0x68ef6c
or ecx, 0xffffffff
xor eax, eax
xor edx, edx
repne scasb al, byte es:[edi]
not ecx
lea esi, [esp + 0x2c]
sub edi, ecx
mov eax, ecx
mov dword [esp + 0x14], esi
mov esi, edi
mov edi, dword [esp + 0x14]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov dword [esp + 0x4c], edx
and ecx, 3
mov dword [esp + 0x50], edx
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x1f0]
mov dword [esp + 0x54], edx
mov word [esp + 0x3a], dx
mov dword [esp + 0x3c], edx
mov word [esp + 0x40], dx
mov word [esp + 0x42], dx
mov word [esp + 0x44], dx
mov eax, dword [ecx + 4]
mov dword [esp + 0x924], 0xffffffff
mov dword [esp + eax + 0x1f0], 0x62d4a8
mov eax, dword [esp + 0x24c]
cmp eax, edx
je 0x4a3e40
push eax
call fcn.006066eb
add esp, 4
lea ecx, [esp + 0x248]
call fcn.00606a91
mov dword [esp + method.std::basic_ios_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ios_char__struct_std::char_traits_char__.0
lea ecx, [esp + 0x250]
call fcn.00606957
mov ecx, str.._txtNpcbackmusic.txt
test ecx, ecx
je 0x4a423f
mov edi, dword [0x6a0014]
mov esi, dword [edi]
cmp esi, edi
je 0x4a3ea9
mov eax, esi
mov esi, dword [esi]
push eax
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov dword [ecx], edx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
call fcn.006066eb
mov ecx, dword [0x6a0018]
add esp, 4
dec ecx
cmp esi, edi
mov dword [0x6a0018], ecx
jne 0x4a3e7c
mov edx, dword [esp + 0x18]
mov edi, vtable.std::basic_ios_char__struct_std::char_traits_char__.0
or edx, 4
mov dword [esp + 0x15c], ebp
mov dword [esp + 0x1e0], 0
mov dword [esp + 0x1bc], edi
mov dword [esp + 0x18], edx
push str.._txtNpcbackmusic.txt
lea ecx, [esp + 0x160]
mov dword [esp + 0x928], 9
call fcn.0040e590
mov dword [esp + 0x1b8], eax
mov esi, eax
push 0
lea eax, [esp + 0x168]
push 0
push eax
lea ecx, [esp + 0x168]
call fcn.0048f4b0
lea ecx, [esp + 0x164]
mov dword [esp + 0x924], 0xb
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x164]
call fcn.004a66c0
push 2
push 0
push esi
push 0
lea ecx, [esp + 0x174]
mov byte [esp + 0x934], 0xc
mov dword [esp + method.std::strstreambuf.virtual_0], vtable.std::strstreambuf.0
call fcn.00607049
mov edx, dword [esp + 0x15c]
mov eax, dword [edx + 4]
mov dword [esp + eax + 0x15c], ebx
mov ecx, dword [esp + 0x15c]
mov edx, dword [ecx + 4]
mov ecx, 0x62d4a8
mov dword [esp + edx + 0x15c], ecx
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x924], 0xd
mov eax, dword [eax + 4]
test byte [esp + eax + 0x160], 6
je 0x4a3fdb
mov dword [esp + eax + 0x15c], ecx
mov eax, dword [esp + 0x1b8]
test eax, eax
mov dword [esp + 0x924], 0xffffffff
je 0x4a3fc3
push eax
call fcn.006066eb
add esp, 4
lea ecx, [esp + 0x1b4]
call fcn.00606a91
mov dword [esp + 0x1bc], edi
jmp 0x4a4233
mov edi, 0x68ef6c
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x11c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x130]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x68ef6c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
xor ebx, ebx
rep movsb byte es:[edi], byte [esi]
mov cl, byte [esp + 0x13]
mov word [esp + 0x12a], bx
mov dword [esp + 0x12c], ebx
mov byte [esp + 0x1c], cl
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dl, byte [esp + 0x13]
mov dword [esp + 0x5c], ebx
mov byte [esp + 0x58], dl
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
mov byte [esp + 0x924], 0xf
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x15c]
push eax
push ecx
call fcn.0043eee0
add esp, 8
cmp eax, ebx
jne 0x4a408b
xor ecx, ecx
jmp 0x4a4092
mov edx, dword [eax]
mov ecx, dword [edx + 4]
add ecx, eax
mov eax, dword [ecx + 4]
and al, 6
neg al
sbb eax, eax
not eax
test ecx, eax
je 0x4a4186
mov edi, dword [esp + 0x20]
cmp edi, ebx
jne 0x4a40b2
mov edi, 0x62d4bc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x11c]
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x12c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0x12a]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x58]
push ecx
push edx
push eax
lea ecx, [esp + 0x168]
call fcn.00414000
mov ecx, eax
call fcn.0040e7b0
push eax
call fcn.0043eee0
mov edi, dword [esp + 0x64]
add esp, 8
cmp edi, ebx
jne 0x4a4114
mov edi, 0x62d4bc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x130]
mov eax, ecx
mov esi, edi
mov edi, edx
push 0x48
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [0x6a0014]
mov edi, dword [esi + 4]
call fcn.00613321
add esp, 4
cmp esi, ebx
mov ecx, esi
jne 0x4a4153
mov ecx, eax
cmp edi, ebx
mov dword [eax], ecx
jne 0x4a415b
mov edi, eax
mov dword [eax + 4], edi
mov dword [esi + 4], eax
mov ecx, dword [eax + 4]
lea edi, [eax + 8]
cmp edi, ebx
mov dword [ecx], eax
je 0x4a417b
mov ecx, 0x10
lea esi, [esp + 0x11c]
rep movsd dword es:[edi], dword [esi]
inc dword [0x6a0018]
jmp 0x4a406e
mov eax, dword [esp + 0x5c]
cmp eax, ebx
je 0x4a41ab
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4a41a2
cmp al, 0xff
je 0x4a41a2
dec al
mov byte [ecx], al
jmp 0x4a41ab
push ecx
call fcn.006066eb
add esp, 4
mov eax, dword [esp + 0x20]
mov dword [esp + 0x5c], ebx
cmp eax, ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
je 0x4a41dc
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4a41d3
cmp al, 0xff
je 0x4a41d3
dec al
mov byte [ecx], al
jmp 0x4a41dc
push ecx
call fcn.006066eb
add esp, 4
mov edx, dword [esp + 0x15c]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov eax, dword [edx + 4]
mov dword [esp + 0x924], 0xffffffff
mov dword [esp + eax + 0x15c], 0x62d4a8
mov eax, dword [esp + 0x1b8]
cmp eax, ebx
je 0x4a421c
push eax
call fcn.006066eb
add esp, 4
lea ecx, [esp + 0x1b4]
call fcn.00606a91
mov dword [esp + method.std::basic_ios_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ios_char__struct_std::char_traits_char__.0
lea ecx, [esp + 0x1bc]
call fcn.00606957
mov eax, dword [0xa2b0ac]
mov dword [0xce8050], 0
test eax, eax
je 0x4a4259
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
call fcn.004a4e70
call fcn.004a54f0
call fcn.004a64e0
push str.SuitEquip.txt
call fcn.00595a30
add esp, 4
mov ecx, 0xd12020
call fcn.005871d0
mov ecx, 0xd12360
call fcn.00596560
mov ecx, 0xd12058
call fcn.005885d0
mov eax, dword [0xa2b0ac]
test eax, eax
je 0x4a42a3
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
mov eax, dword [0x68f060]
test eax, eax
jne 0x4a42e4
push 0x10
call fcn.00613321
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
mov dword [esp + 0x924], 0x10
je 0x4a42d2
mov ecx, eax
call fcn.0041c4d0
jmp 0x4a42d4
xor eax, eax
mov dword [esp + 0x924], 0xffffffff
mov dword [0x68f060], eax
call fcn.0044a450
call fcn.0044a6b0
push str..BMPCapture
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x4a430b
push 0
push str..BMPCapture
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
xor ecx, ecx
lea edx, [esp + 0x61c]
mov dword [0x6c4900], ecx
push edx
mov dword [0x6c4904], ecx
push str..GuildlogoGuildlogo.dat
mov dword [0x6c4908], ecx
mov dword [0x6c490c], ecx
mov word [0x6c4910], cx
mov byte [0x6c4912], cl
call fcn.00488580
add esp, 8
mov edi, 0xa2485c
lea edx, [esp + 0x61d]
mov al, byte [edx - 1]
cmp al, 4
jbe 0x4a4364
and eax, 0xff
sub eax, 4
jmp 0x4a4366
xor eax, eax
mov cl, byte [edx]
and eax, 0xf8
cmp cl, 2
jbe 0x4a437d
and ecx, 0xff
sub ecx, 2
jmp 0x4a437f
xor ecx, ecx
and ecx, 0xfc
mov esi, ecx
mov cl, byte [edx + 1]
cmp cl, 4
jbe 0x4a439a
and ecx, 0xff
sub ecx, 4
jmp 0x4a439c
xor ecx, ecx
shl eax, 5
or eax, esi
add edi, 2
sar ecx, 3
shl eax, 3
and ecx, 0x1f
add edx, 3
or eax, ecx
cmp edi, 0xa24a5c
mov word [edi - 2], ax
jl 0x4a4353
mov eax, dword [0xa2b0ac]
test eax, eax
je 0x4a43ce
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
call fcn.004a50e0
mov eax, 1
mov ecx, dword [esp + 0x91c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x918
ret