Function at 0x407d60
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46c43a
mov eax, dword fs:[0]
push eax
push ecx
sub esp, 0x560
push ebx
push esi
push edi
push ecx
lea edi, [ebp - 0x570]
mov ecx, 0x158
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
pop ecx
mov eax, dword [0x485010]
xor eax, ebp
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 4], 0
mov eax, dword [str.__t_n]
mov dword [ebp - 0x1b8], eax
mov cl, byte [0x46ebd8]
mov byte [ebp - 0x1b4], cl
mov byte [ebp - 0x1d9], 0
mov byte [ebp - 0x1e5], 0
mov dword [ebp - 0x20c], 0
mov dword [ebp - 0x230], 0
push 0x32
push 0
lea eax, [ebp - 0x1a8]
push eax
call fcn.00418870
add esp, 0xc
mov esi, esp
mov eax, dword [ebp + 0x14]
push eax
push str.account_character__s
lea ecx, [ebp - 0x1a8]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
cmp esi, esp
call fcn.00418a80
mov eax, dword [ebp + 0xc]
push eax
call fcn.004190a0
add esp, 4
test eax, eax
jne 0x407e38
mov eax, 1
jmp 0x409125
mov eax, dword [ebp + 0x10]
push eax
call fcn.004190a0
add esp, 4
test eax, eax
jne 0x407e52
mov eax, 2
jmp 0x409125
mov eax, dword [ebp + 0x14]
push eax
call fcn.004190a0
add esp, 4
test eax, eax
jne 0x407e6c
mov eax, 3
jmp 0x409125
push 0xff
push 0
lea eax, [ebp - 0x124]
push eax
call fcn.00418870
add esp, 0xc
push 0x3f
push 0
lea eax, [ebp - 0x16c]
push eax
call fcn.00418870
add esp, 0xc
push str.Account
lea eax, [ebp - 0x124]
push eax
call fcn.0041acc0
add esp, 8
push 0x46e9b4
lea eax, [ebp - 0x124]
push eax
call fcn.0041acc0
add esp, 8
push 0x46e9b4
lea eax, [ebp - 0x124]
push eax
call fcn.0041acc0
add esp, 8
mov eax, dword [ebp + 0xc]
movsx ecx, byte [eax]
mov esi, esp
push ecx
push str.AscII_d
lea edx, [ebp - 0x16c]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
cmp esi, esp
call fcn.00418a80
lea eax, [ebp - 0x16c]
push eax
lea ecx, [ebp - 0x124]
push ecx
call fcn.0041acc0
add esp, 8
push 0x46e9b4
lea eax, [ebp - 0x124]
push eax
call fcn.0041acc0
add esp, 8
push 0x46e9b4
lea eax, [ebp - 0x124]
push eax
call fcn.0041acc0
add esp, 8
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x124]
push ecx
call fcn.0041acc0
add esp, 8
push str..txt
lea eax, [ebp - 0x124]
push eax
call fcn.0041acc0
add esp, 8
mov byte [ebp - 0x1d9], 0
mov byte [ebp - 0x1e5], 0
push 0x46e9c8
lea eax, [ebp - 0x124]
push eax
call fcn.0041ba10
add esp, 8
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x224], 0
jne 0x407fff
mov esi, esp
lea eax, [ebp - 0x124]
push eax
push str.Account_Does_not_Exist___s_
push 0x4884a0
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
cmp esi, esp
call fcn.00418a80
push 0x4884a0
call fcn.00413cf0
add esp, 4
mov esi, esp
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp esi, esp
call fcn.00418a80
mov esi, esp
push eax
push str.Error_Num:__d
push 0x4884a0
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
cmp esi, esp
call fcn.00418a80
push 0x4884a0
call fcn.004147c0
add esp, 4
mov eax, 1
jmp 0x409125
push 2
push 0
mov eax, dword [ebp - 0x224]
push eax
call fcn.0041c3a0
add esp, 0xc
mov eax, dword [ebp - 0x224]
push eax
call fcn.0041cbf0
add esp, 4
mov dword [ebp - 0x218], eax
mov eax, dword [ebp - 0x224]
push eax
call fcn.0041d220
add esp, 4
mov eax, dword [ebp - 0x218]
push eax
call fcn.0041b070
add esp, 4
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp - 0x224]
push eax
push 1
mov ecx, dword [ebp - 0x218]
push ecx
mov edx, dword [ebp - 0x1c4]
push edx
call fcn.0041c140
add esp, 0x10
push 0x414
call fcn.00418dd0
add esp, 4
mov dword [ebp - 0x568], eax
mov eax, dword [ebp - 0x568]
mov dword [ebp - 0x554], eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x554], 0
je 0x4080c3
lea ecx, [ebp - 0x1b8]
push ecx
mov edx, dword [ebp - 0x1c4]
push edx
mov ecx, dword [ebp - 0x554]
call fcn.00416390
mov dword [ebp - 0x56c], eax
mov eax, dword [ebp - 0x56c]
mov dword [ebp - 0x570], eax
jmp 0x4080cd
mov dword [ebp - 0x570], 0
mov ecx, dword [ebp - 0x570]
mov dword [ebp - 0x560], ecx
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x560]
mov dword [ebp - 0x1f4], edx
mov ecx, dword [ebp - 0x1f4]
call fcn.00416550
mov dword [ebp - 0x568], eax
mov eax, dword [ebp - 0x568]
mov dword [ebp - 0x1d0], eax
cmp dword [ebp - 0x1d0], 0
je 0x40906f
movsx eax, byte [ebp - 0x1d9]
test eax, eax
je 0x408f46
movsx eax, byte [ebp - 0x1d9]
mov dword [ebp - 0x568], eax
mov ecx, dword [ebp - 0x568]
sub ecx, 1
mov dword [ebp - 0x568], ecx
cmp dword [ebp - 0x568], 5
ja case.default.0x408151
mov edx, dword [ebp - 0x568]
jmp dword [edx*4 + 0x4091b8]
mov eax, dword [ebp - 0x1d0]
push eax
call fcn.004190a0
add esp, 4
test eax, eax
ja 0x4081f0
mov eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x53c], eax
mov ecx, dword [ebp - 0x53c]
mov dword [ebp - 0x548], ecx
cmp dword [ebp - 0x548], 0
je 0x4081c1
mov esi, esp
push 1
mov edx, dword [ebp - 0x548]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x548]
mov edx, dword [eax]
call edx
cmp esi, esp
call fcn.00418a80
mov dword [ebp - 0x568], eax
mov eax, dword [ebp - 0x568]
mov dword [ebp - 0x56c], eax
jmp 0x4081cb
mov dword [ebp - 0x56c], 0
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x530], eax
mov ecx, dword [ebp - 0x530]
push ecx
call fcn.00418130
add esp, 4
mov eax, 1
jmp 0x409125
mov dword [ebp - 0x200], 1
jmp 0x40820b
mov eax, dword [ebp - 0x200]
add eax, 1
mov dword [ebp - 0x200], eax
cmp dword [ebp - 0x200], 0xbb8
jge 0x4082a7
mov eax, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x1c]
cmp dword [ecx + eax*4 + 0x64af4], 0
je 0x4082a2
mov eax, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + eax*4 + 0x64af4]
add edx, 4
cmp edx, dword [ebp - 0x1d0]
jne 0x4082a2
mov eax, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + eax*4 + 0x64af4]
add edx, 0xf
cmp edx, dword [ebp + 0x10]
jne 0x4082a2
mov eax, dword [ebp - 0x1d0]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + ecx*4 + 0x61a84]
add eax, 0x4a
push eax
call fcn.0041acb0
add esp, 8
mov eax, dword [ebp - 0x200]
mov dword [ebp - 0x20c], eax
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x200]
mov dword [eax], ecx
mov dword [ebp - 0x230], 1
jmp 0x4081fc
cmp dword [ebp - 0x230], 0
jne 0x4083d3
mov dword [ebp - 0x200], 1
jmp 0x4082cf
mov eax, dword [ebp - 0x200]
add eax, 1
mov dword [ebp - 0x200], eax
cmp dword [ebp - 0x200], 0xbb8
jge 0x4083d3
mov eax, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x1c]
cmp dword [ecx + eax*4 + 0x64af4], 0
jne 0x4083ce
push 0x88
call fcn.00418dd0
add esp, 4
mov dword [ebp - 0x568], eax
mov eax, dword [ebp - 0x568]
mov dword [ebp - 0x518], eax
mov byte [ebp - 4], 2
cmp dword [ebp - 0x518], 0
je 0x408350
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp - 0x1d0]
push eax
mov ecx, dword [ebp - 0x518]
call fcn.00401d50
mov dword [ebp - 0x56c], eax
mov ecx, dword [ebp - 0x56c]
mov dword [ebp - 0x570], ecx
jmp 0x40835a
mov dword [ebp - 0x570], 0
mov edx, dword [ebp - 0x570]
mov dword [ebp - 0x524], edx
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x524]
mov dword [ecx + eax*4 + 0x64af4], edx
mov eax, dword [ebp - 0x1d0]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + ecx*4 + 0x61a84]
add eax, 0x4a
push eax
call fcn.0041acb0
add esp, 8
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x83f58]
add ecx, 1
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x83f58], ecx
mov eax, dword [ebp - 0x200]
mov dword [ebp - 0x20c], eax
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x200]
mov dword [eax], ecx
jmp 0x4083d3
jmp 0x4082c0
mov byte [ebp - 0x1d9], 0
jmp case.default.0x408151
mov eax, dword [ebp - 0x1d0]
push eax
call fcn.004190a0
add esp, 4
test eax, eax
ja 0x4084f1
mov eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x500], eax
mov ecx, dword [ebp - 0x500]
mov dword [ebp - 0x50c], ecx
cmp dword [ebp - 0x50c], 0
je 0x408448
mov esi, esp
push 1
mov edx, dword [ebp - 0x50c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x50c]
mov edx, dword [eax]
call edx
cmp esi, esp
call fcn.00418a80
mov dword [ebp - 0x568], eax
mov eax, dword [ebp - 0x568]
mov dword [ebp - 0x56c], eax
jmp 0x408452
mov dword [ebp - 0x56c], 0
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x4f4], eax
mov ecx, dword [ebp - 0x4f4]
push ecx
call fcn.00418130
add esp, 4
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + eax*4 + 0x64af4]
mov dword [ebp - 0x4dc], edx
mov eax, dword [ebp - 0x4dc]
mov dword [ebp - 0x4e8], eax
cmp dword [ebp - 0x4e8], 0
je 0x4084c9
mov esi, esp
push 1
mov ecx, dword [ebp - 0x4e8]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x4e8]
mov eax, dword [edx]
call eax
cmp esi, esp
call fcn.00418a80
mov dword [ebp - 0x568], eax
mov ecx, dword [ebp - 0x568]
mov dword [ebp - 0x56c], ecx
jmp 0x4084d3
mov dword [ebp - 0x56c], 0
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + eax*4 + 0x64af4], 0
mov eax, 1
jmp 0x409125
mov eax, dword [ebp - 0x1d0]
push eax
mov ecx, dword [ebp - 0x20c]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + ecx*4 + 0x64af4]
add eax, 0xf
push eax
call fcn.0041acb0
add esp, 8
mov byte [ebp - 0x1d9], 0
jmp case.default.0x408151
mov eax, dword [ebp - 0x1d0]
push eax
call fcn.004190a0
add esp, 4
test eax, eax
ja 0x408632
mov eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x4c4], eax
mov ecx, dword [ebp - 0x4c4]
mov dword [ebp - 0x4d0], ecx
cmp dword [ebp - 0x4d0], 0
je 0x408589
mov esi, esp
push 1
mov edx, dword [ebp - 0x4d0]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4d0]
mov edx, dword [eax]
call edx
cmp esi, esp
call fcn.00418a80
mov dword [ebp - 0x568], eax
mov eax, dword [ebp - 0x568]
mov dword [ebp - 0x56c], eax
jmp 0x408593
mov dword [ebp - 0x56c], 0
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x4b8], eax
mov ecx, dword [ebp - 0x4b8]
push ecx
call fcn.00418130
add esp, 4
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + eax*4 + 0x64af4]
mov dword [ebp - 0x4a0], edx
mov eax, dword [ebp - 0x4a0]
mov dword [ebp - 0x4ac], eax
cmp dword [ebp - 0x4ac], 0
je 0x40860a
mov esi, esp
push 1
mov ecx, dword [ebp - 0x4ac]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x4ac]
mov eax, dword [edx]
call eax
cmp esi, esp
call fcn.00418a80
mov dword [ebp - 0x568], eax
mov ecx, dword [ebp - 0x568]
mov dword [ebp - 0x56c], ecx
jmp 0x408614
mov dword [ebp - 0x56c], 0
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + eax*4 + 0x64af4], 0
mov eax, 1
jmp 0x409125
mov eax, dword [ebp - 0x1d0]
push eax
call fcn.0041b010
add esp, 4
mov ecx, dword [ebp - 0x20c]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [edx + ecx*4 + 0x64af4]
mov dword [ecx + 0x1c], eax
mov byte [ebp - 0x1d9], 0
jmp case.default.0x408151
mov al, byte [ebp - 0x1e5]
mov byte [ebp - 0x568], al
cmp byte [ebp - 0x568], 1
je 0x408694
cmp byte [ebp - 0x568], 2
je 0x4087d4
cmp byte [ebp - 0x568], 3
je 0x408914
jmp 0x408a56
mov eax, dword [ebp - 0x1d0]
push eax
call fcn.004190a0
add esp, 4
test eax, eax
ja 0x4087a6
mov eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x488], eax
mov ecx, dword [ebp - 0x488]
mov dword [ebp - 0x494], ecx
cmp dword [ebp - 0x494], 0
je 0x4086fd
mov esi, esp
push 1
mov edx, dword [ebp - 0x494]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x494]
mov edx, dword [eax]
call edx
cmp esi, esp
call fcn.00418a80
mov dword [ebp - 0x568], eax
mov eax, dword [ebp - 0x568]
mov dword [ebp - 0x56c], eax
jmp 0x408707
mov dword [ebp - 0x56c], 0
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x47c], eax
mov ecx, dword [ebp - 0x47c]
push ecx
call fcn.00418130
add esp, 4
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + eax*4 + 0x64af4]
mov dword [ebp - 0x464], edx
mov eax, dword [ebp - 0x464]
mov dword [ebp - 0x470], eax
cmp dword [ebp - 0x470], 0
je 0x40877e
mov esi, esp
push 1
mov ecx, dword [ebp - 0x470]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x470]
mov eax, dword [edx]
call eax
cmp esi, esp
call fcn.00418a80
mov dword [ebp - 0x568], eax
mov ecx, dword [ebp - 0x568]
mov dword [ebp - 0x56c], ecx
jmp 0x408788
mov dword [ebp - 0x56c], 0
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + eax*4 + 0x64af4], 0
mov eax, 1
jmp 0x409125
mov eax, dword [ebp - 0x1d0]
push eax
call fcn.0041b010
add esp, 4
mov ecx, dword [ebp - 0x20c]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [edx + ecx*4 + 0x64af4]
mov dword [ecx + 0x24], eax
mov byte [ebp - 0x1e5], 2
jmp 0x408a56
mov eax, dword [ebp - 0x1d0]
push eax
call fcn.004190a0
add esp, 4
test eax, eax
ja 0x4088e6
mov eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x44c], eax
mov ecx, dword [ebp - 0x44c]
mov dword [ebp - 0x458], ecx
cmp dword [ebp - 0x458], 0
je 0x40883d
mov esi, esp
push 1
mov edx, dword [ebp - 0x458]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x458]
mov edx, dword [eax]
call edx
cmp esi, esp
call fcn.00418a80
mov dword [ebp - 0x568], eax
mov eax, dword [ebp - 0x568]
mov dword [ebp - 0x56c], eax
jmp 0x408847
mov dword [ebp - 0x56c], 0
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x440], eax
mov ecx, dword [ebp - 0x440]
push ecx
call fcn.00418130
add esp, 4
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + eax*4 + 0x64af4]
mov dword [ebp - 0x428], edx
mov eax, dword [ebp - 0x428]
mov dword [ebp - 0x434], eax
cmp dword [ebp - 0x434], 0
je 0x4088be
mov esi, esp
push 1
mov ecx, dword [ebp - 0x434]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x434]
mov eax, dword [edx]
call eax
cmp esi, esp
call fcn.00418a80
mov dword [ebp - 0x568], eax
mov ecx, dword [ebp - 0x568]
mov dword [ebp - 0x56c], ecx
jmp 0x4088c8
mov dword [ebp - 0x56c], 0
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + eax*4 + 0x64af4], 0
mov eax, 1
jmp 0x409125
mov eax, dword [ebp - 0x1d0]
push eax
call fcn.0041b010
add esp, 4
mov ecx, dword [ebp - 0x20c]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [edx + ecx*4 + 0x64af4]
mov dword [ecx + 0x28], eax
mov byte [ebp - 0x1e5], 3
jmp 0x408a56
mov eax, dword [ebp - 0x1d0]
push eax
call fcn.004190a0
add esp, 4
test eax, eax
ja 0x408a26
mov eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x410], eax
mov ecx, dword [ebp - 0x410]
mov dword [ebp - 0x41c], ecx
cmp dword [ebp - 0x41c], 0
je 0x40897d
mov esi, esp
push 1
mov edx, dword [ebp - 0x41c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x41c]
mov edx, dword [eax]
call edx
cmp esi, esp
call fcn.00418a80
mov dword [ebp - 0x568], eax
mov eax, dword [ebp - 0x568]
mov dword [ebp - 0x56c], eax
jmp 0x408987
mov dword [ebp - 0x56c], 0
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x404], eax
mov ecx, dword [ebp - 0x404]
push ecx
call fcn.00418130
add esp, 4
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + eax*4 + 0x64af4]
mov dword [ebp - 0x3ec], edx
mov eax, dword [ebp - 0x3ec]
mov dword [ebp - 0x3f8], eax
cmp dword [ebp - 0x3f8], 0
je 0x4089fe
mov esi, esp
push 1
mov ecx, dword [ebp - 0x3f8]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3f8]
mov eax, dword [edx]
call eax
cmp esi, esp
call fcn.00418a80
mov dword [ebp - 0x568], eax
mov ecx, dword [ebp - 0x568]
mov dword [ebp - 0x56c], ecx
jmp 0x408a08
mov dword [ebp - 0x56c], 0
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + eax*4 + 0x64af4], 0
mov eax, 1
jmp 0x409125
mov eax, dword [ebp - 0x1d0]
push eax
call fcn.0041b010
add esp, 4
mov ecx, dword [ebp - 0x20c]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [edx + ecx*4 + 0x64af4]
mov dword [ecx + 0x2c], eax
mov byte [ebp - 0x1e5], 0
mov byte [ebp - 0x1d9], 0
jmp case.default.0x408151
mov al, byte [ebp - 0x1e5]
mov byte [ebp - 0x568], al
cmp byte [ebp - 0x568], 1
je 0x408a8f
cmp byte [ebp - 0x568], 2
je 0x408bcf
cmp byte [ebp - 0x568], 3
je 0x408d0f
jmp 0x408e51
mov eax, dword [ebp - 0x1d0]
push eax
call fcn.004190a0
add esp, 4
test eax, eax
ja 0x408ba1
mov eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x3d4], eax
mov ecx, dword [ebp - 0x3d4]
mov dword [ebp - 0x3e0], ecx
cmp dword [ebp - 0x3e0], 0
je 0x408af8
mov esi, esp
push 1
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [eax]
call edx
cmp esi, esp
call fcn.00418a80
mov dword [ebp - 0x568], eax
mov eax, dword [ebp - 0x568]
mov dword [ebp - 0x56c], eax
jmp 0x408b02
mov dword [ebp - 0x56c], 0
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x3c8], eax
mov ecx, dword [ebp - 0x3c8]
push ecx
call fcn.00418130
add esp, 4
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + eax*4 + 0x64af4]
mov dword [ebp - 0x3b0], edx
mov eax, dword [ebp - 0x3b0]
mov dword [ebp - 0x3bc], eax
cmp dword [ebp - 0x3bc], 0
je 0x408b79
mov esi, esp
push 1
mov ecx, dword [ebp - 0x3bc]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3bc]
mov eax, dword [edx]
call eax
cmp esi, esp
call fcn.00418a80
mov dword [ebp - 0x568], eax
mov ecx, dword [ebp - 0x568]
mov dword [ebp - 0x56c], ecx
jmp 0x408b83
mov dword [ebp - 0x56c], 0
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + eax*4 + 0x64af4], 0
mov eax, 1
jmp 0x409125
mov eax, dword [ebp - 0x1d0]
push eax
call fcn.0041b010
add esp, 4
mov ecx, dword [ebp - 0x20c]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [edx + ecx*4 + 0x64af4]
mov dword [ecx + 0x30], eax
mov byte [ebp - 0x1e5], 2
jmp 0x408e51
mov eax, dword [ebp - 0x1d0]
push eax
call fcn.004190a0
add esp, 4
test eax, eax
ja 0x408ce1
mov eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x398], eax
mov ecx, dword [ebp - 0x398]
mov dword [ebp - 0x3a4], ecx
cmp dword [ebp - 0x3a4], 0
je 0x408c38
mov esi, esp
push 1
mov edx, dword [ebp - 0x3a4]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x3a4]
mov edx, dword [eax]
call edx
cmp esi, esp
call fcn.00418a80
mov dword [ebp - 0x568], eax
mov eax, dword [ebp - 0x568]
mov dword [ebp - 0x56c], eax
jmp 0x408c42
mov dword [ebp - 0x56c], 0
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x38c], eax
mov ecx, dword [ebp - 0x38c]
push ecx
call fcn.00418130
add esp, 4
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + eax*4 + 0x64af4]
mov dword [ebp - 0x374], edx
mov eax, dword [ebp - 0x374]
mov dword [ebp - 0x380], eax
cmp dword [ebp - 0x380], 0
je 0x408cb9
mov esi, esp
push 1
mov ecx, dword [ebp - 0x380]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x380]
mov eax, dword [edx]
call eax
cmp esi, esp
call fcn.00418a80
mov dword [ebp - 0x568], eax
mov ecx, dword [ebp - 0x568]
mov dword [ebp - 0x56c], ecx
jmp 0x408cc3
mov dword [ebp - 0x56c], 0
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + eax*4 + 0x64af4], 0
mov eax, 1
jmp 0x409125
mov eax, dword [ebp - 0x1d0]
push eax
call fcn.0041b010
add esp, 4
mov ecx, dword [ebp - 0x20c]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [edx + ecx*4 + 0x64af4]
mov dword [ecx + 0x34], eax
mov byte [ebp - 0x1e5], 3
jmp 0x408e51
mov eax, dword [ebp - 0x1d0]
push eax
call fcn.004190a0
add esp, 4
test eax, eax
ja 0x408e21
mov eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x35c], eax
mov ecx, dword [ebp - 0x35c]
mov dword [ebp - 0x368], ecx
cmp dword [ebp - 0x368], 0
je 0x408d78
mov esi, esp
push 1
mov edx, dword [ebp - 0x368]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x368]
mov edx, dword [eax]
call edx
cmp esi, esp
call fcn.00418a80
mov dword [ebp - 0x568], eax
mov eax, dword [ebp - 0x568]
mov dword [ebp - 0x56c], eax
jmp 0x408d82
mov dword [ebp - 0x56c], 0
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x350], eax
mov ecx, dword [ebp - 0x350]
push ecx
call fcn.00418130
add esp, 4
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + eax*4 + 0x64af4]
mov dword [ebp - 0x338], edx
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x344], eax
cmp dword [ebp - 0x344], 0
je 0x408df9
mov esi, esp
push 1
mov ecx, dword [ebp - 0x344]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x344]
mov eax, dword [edx]
call eax
cmp esi, esp
call fcn.00418a80
mov dword [ebp - 0x568], eax
mov ecx, dword [ebp - 0x568]
mov dword [ebp - 0x56c], ecx
jmp 0x408e03
mov dword [ebp - 0x56c], 0
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + eax*4 + 0x64af4], 0
mov eax, 1
jmp 0x409125
mov eax, dword [ebp - 0x1d0]
push eax
call fcn.0041b010
add esp, 4
mov ecx, dword [ebp - 0x20c]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [edx + ecx*4 + 0x64af4]
mov dword [ecx + 0x38], eax
mov byte [ebp - 0x1e5], 0
mov byte [ebp - 0x1d9], 0
jmp case.default.0x408151
mov dword [ebp - 0x200], 0
jmp 0x408e71
mov eax, dword [ebp - 0x200]
add eax, 1
mov dword [ebp - 0x200], eax
cmp dword [ebp - 0x200], 0xfa0
jge 0x408f3a
mov eax, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x1c]
cmp dword [ecx + eax*4 + 0x679d4], 0
jne 0x408f35
push 0x14
call fcn.00418dd0
add esp, 4
mov dword [ebp - 0x568], eax
mov eax, dword [ebp - 0x568]
mov dword [ebp - 0x320], eax
mov byte [ebp - 4], 3
cmp dword [ebp - 0x320], 0
je 0x408eee
mov ecx, dword [ebp - 0x20c]
push ecx
mov edx, dword [ebp - 0x1d0]
push edx
mov ecx, dword [ebp - 0x320]
call fcn.00401ea0
mov dword [ebp - 0x56c], eax
mov eax, dword [ebp - 0x56c]
mov dword [ebp - 0x570], eax
jmp 0x408ef8
mov dword [ebp - 0x570], 0
mov ecx, dword [ebp - 0x570]
mov dword [ebp - 0x32c], ecx
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x200]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x32c]
mov dword [eax + edx*4 + 0x679d4], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x83f5c]
add ecx, 1
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x83f5c], ecx
jmp 0x408f3a
jmp 0x408e62
mov byte [ebp - 0x1d9], 0
jmp 0x40904d
push 0xc
push str.account_name
mov eax, dword [ebp - 0x1d0]
push eax
call fcn.0041a3e0
add esp, 0xc
test eax, eax
jne 0x408f67
mov byte [ebp - 0x1d9], 1
push 0x10
push str.account_password
mov eax, dword [ebp - 0x1d0]
push eax
call fcn.0041a3e0
add esp, 0xc
test eax, eax
jne 0x408f88
mov byte [ebp - 0x1d9], 2
push 0x12
push str.account_valid_time
mov eax, dword [ebp - 0x1d0]
push eax
call fcn.0041a3e0
add esp, 0xc
test eax, eax
jne 0x408fa9
mov byte [ebp - 0x1d9], 3
push 0x12
push str.account_valid_date
mov eax, dword [ebp - 0x1d0]
push eax
call fcn.0041a3e0
add esp, 0xc
test eax, eax
jne 0x408fd1
mov byte [ebp - 0x1e5], 1
mov byte [ebp - 0x1d9], 4
push 0x17
push str.account_change_password
mov eax, dword [ebp - 0x1d0]
push eax
call fcn.0041a3e0
add esp, 0xc
test eax, eax
jne 0x408ff9
mov byte [ebp - 0x1e5], 1
mov byte [ebp - 0x1d9], 5
push 0x11
push str.account_character
mov eax, dword [ebp - 0x1d0]
push eax
call fcn.0041a3e0
add esp, 0xc
test eax, eax
jne 0x40901c
mov byte [ebp - 0x1d9], 6
jmp 0x40904d
lea eax, [ebp - 0x1a8]
push eax
call fcn.004190a0
add esp, 4
push eax
lea ecx, [ebp - 0x1a8]
push ecx
mov edx, dword [ebp - 0x1d0]
push edx
call fcn.0041a3e0
add esp, 0xc
test eax, eax
jne 0x40904d
mov byte [ebp - 0x1d9], 6
mov ecx, dword [ebp - 0x1f4]
call fcn.00416550
mov dword [ebp - 0x568], eax
mov eax, dword [ebp - 0x568]
mov dword [ebp - 0x1d0], eax
jmp 0x408106
mov eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x308], eax
mov ecx, dword [ebp - 0x308]
mov dword [ebp - 0x314], ecx
cmp dword [ebp - 0x314], 0
je 0x4090c1
mov esi, esp
push 1
mov edx, dword [ebp - 0x314]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x314]
mov edx, dword [eax]
call edx
cmp esi, esp
call fcn.00418a80
mov dword [ebp - 0x568], eax
mov eax, dword [ebp - 0x568]
mov dword [ebp - 0x56c], eax
jmp 0x4090cb
mov dword [ebp - 0x56c], 0
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x2fc], eax
mov ecx, dword [ebp - 0x2fc]
push ecx
call fcn.00418130
add esp, 4
cmp dword [ebp - 0x224], 0
je 0x4090fe
mov eax, dword [ebp - 0x224]
push eax
call fcn.0041b1b0
add esp, 4
jmp 0x409113
mov dword [ebp - 4], 0xffffffff
jmp 0x409123
xor eax, eax
push edx
mov ecx, ebp
push eax
lea edx, [0x409164]
call fcn.00418a20
pop eax
pop edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00419b10
add esp, 0x570
cmp ebp, esp
call fcn.00418a80
mov esp, ebp
pop ebp
ret 0x14