Function at 0x41ee70
Capabilities:
Check for time delay via gettickcount

Disassembly:
push 0xffffffffffffffff
push 0x48c258
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x40
push ebx
push ebp
push esi
push edi
mov ebp, ecx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x58], 0
test ebx, ebx
je case.0x41f232.37
cmp dword [ebx], 0
je case.0x41f232.37
mov eax, dword [ebp + 0x41c4]
mov si, word [esp + 0x64]
mov edi, dword [sym.imp.MSVCRT.dll__mbsicmp]
test eax, eax
je 0x41f20d
dec eax
je 0x41f129
dec eax
je 0x41f01e
dec eax
jne 0x41f20d
mov eax, dword [ebp + 0x41c8]
movsx ecx, word [ebp + 0x41e0]
test eax, eax
mov eax, dword [ebp + 0x4504]
mov eax, dword [eax + 0x32c4]
jne 0x41efb9
cmp eax, ecx
jne 0x41ef2d
cmp si, word [ebp + 0x41de]
jne 0x41ef2d
mov eax, dword [esp + 0x68]
lea edx, [ebp + 0x41cc]
push edx
push eax
call edi
add esp, 8
test eax, eax
jne 0x41ef2d
mov ecx, dword [esp + 0x68]
push eax
push eax
push ecx
push 0xa7
jmp 0x41f075
mov edx, dword [ebp + 0x4504]
movsx ecx, word [ebp + 0x41f6]
mov eax, dword [edx + 0x32c4]
cmp eax, ecx
jne 0x41f20d
cmp si, word [ebp + 0x41f4]
jne 0x41f20d
mov edx, dword [ebp + 0x41e8]
mov ax, word [ebp + 0x41e6]
mov cl, byte [ebp + 0x41e4]
push edx
push eax
push ecx
mov ecx, ebp
call fcn.004321e0
mov esi, 1
cmp eax, esi
jne 0x41efa3
mov edx, dword [esp + 0x68]
push 0
push 0
push edx
push 0xf3
push 7
mov ecx, ebp
mov dword [ebp + 0x41c8], esi
call fcn.0041b5d0
mov dword [ebp + 0x43c4], esi
jmp 0x41f20d
mov ecx, ebp
mov dword [ebp + 0x41c4], 0
call fcn.004254e0
jmp 0x41f20d
cmp eax, ecx
jne 0x41f20d
cmp si, word [ebp + 0x41de]
jne 0x41f20d
mov eax, dword [esp + 0x68]
lea edx, [ebp + 0x41cc]
push edx
push eax
call edi
add esp, 8
test eax, eax
jne 0x41f20d
mov ecx, ebp
mov dword [ebp + 0x41c4], eax
call fcn.00422090
mov ecx, dword [esp + 0x68]
push 0
push 0
push ecx
push 0xad
push 7
mov ecx, ebp
call fcn.0041b5d0
mov ecx, ebp
call fcn.004254e0
mov ecx, ebp
call fcn.004254a0
jmp 0x41f203
mov eax, dword [ebp + 0x41c8]
mov edx, dword [ebp + 0x4504]
movsx ecx, word [ebp + 0x41e0]
test eax, eax
mov eax, dword [edx + 0x32c4]
jne 0x41f091
cmp eax, ecx
jne 0x41f20d
cmp si, word [ebp + 0x41de]
jne 0x41f20d
mov eax, dword [esp + 0x68]
lea edx, [ebp + 0x41cc]
push edx
push eax
call edi
add esp, 8
test eax, eax
jne 0x41f20d
mov ecx, dword [esp + 0x68]
push eax
push eax
push ecx
push 0xa6
push 7
mov ecx, ebp
call fcn.0041b5d0
mov ecx, ebp
call fcn.004254e0
mov ecx, ebp
call fcn.004254a0
jmp 0x41f20d
cmp eax, ecx
jne 0x41f20d
cmp si, word [ebp + 0x41de]
jne 0x41f20d
mov eax, dword [esp + 0x68]
lea edx, [ebp + 0x41cc]
push edx
push eax
call edi
add esp, 8
test eax, eax
jne 0x41f20d
mov ecx, ebp
mov dword [ebp + 0x41c4], eax
call fcn.00422090
mov ecx, dword [esp + 0x68]
push 0
push 0
push ecx
push 0xab
push 7
mov ecx, ebp
call fcn.0041b5d0
lea edx, [ebp + 0x41e4]
mov eax, dword [ebp + 0x41e4]
mov dword [esp + 0x40], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x44], ecx
push ecx
mov esi, dword [edx + 8]
mov ecx, dword [esp + 0x46]
push ecx
push eax
mov edx, dword [edx + 0xc]
mov ecx, ebp
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], edx
call fcn.004321e0
mov edx, dword [esp + 0x68]
push 0
push 0
push edx
push 0xac
jmp 0x41f1fa
mov eax, dword [ebp + 0x41c8]
test eax, eax
jne 0x41f185
mov eax, dword [ebp + 0x4504]
movsx ecx, word [ebp + 0x41e0]
mov eax, dword [eax + 0x32c4]
cmp eax, ecx
jne 0x41f20d
cmp si, word [ebp + 0x41de]
jne 0x41f20d
mov eax, dword [esp + 0x68]
lea edx, [ebp + 0x41cc]
push edx
push eax
call edi
add esp, 8
test eax, eax
jne 0x41f20d
mov ecx, dword [esp + 0x68]
push eax
push eax
push ecx
push 0xa5
jmp 0x41f075
mov edx, dword [ebp + 0x4504]
movsx ecx, word [ebp + 0x41e0]
mov eax, dword [edx + 0x32c4]
cmp eax, ecx
jne 0x41f20d
cmp si, word [ebp + 0x41de]
jne 0x41f20d
mov eax, dword [esp + 0x68]
lea edx, [ebp + 0x41cc]
push edx
push eax
call edi
add esp, 8
test eax, eax
jne 0x41f20d
mov ecx, ebp
mov dword [ebp + 0x41c4], eax
call fcn.00422090
mov ecx, dword [esp + 0x68]
push 0
push 0
push ecx
push 0xa9
push 7
mov ecx, ebp
call fcn.0041b5d0
mov ecx, ebp
call fcn.004254e0
mov ecx, ebp
call fcn.004254a0
mov edx, dword [esp + 0x68]
push 0
push 0
push edx
push 0xaa
push 7
mov ecx, ebp
call fcn.0041b5d0
mov dword [ebp + 0x43c4], 1
mov eax, dword [ebx]
cmp eax, 0x172
jg 0x421ee6
je 0x421e98
dec eax
cmp eax, 0x55
ja case.0x41f232.37
xor ecx, ecx
mov cl, byte [eax + 0x422008]
jmp dword [ecx*4 + 0x421f74]
cmp dword [ebp + 0x4348], 0x1388
jae 0x41f25a
push 0
push 0
push 0x8f
mov ecx, ebp
call fcn.0043fc10
jmp case.0x41f232.37
cmp dword [ebp + 0x4330], 1
jne case.0x41f232.37
mov eax, dword [ebx + 8]
test eax, eax
jbe case.0x41f232.37
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, dword [ebx + 4]
xor edx, edx
div dword [ebx + 8]
test esi, esi
je case.0x41f232.37
test edx, edx
jle 0x41f298
mov eax, dword [esi + 8]
test eax, eax
je 0x41f295
mov esi, eax
dec edx
jne 0x41f28c
mov dx, word [esi + 2]
mov word [esp + 0x2c], dx
mov ax, word [esi + 4]
mov edx, dword [ebp + 0x4504]
mov word [esp + 0x2e], ax
mov cl, byte [esi + 6]
mov byte [esp + 0x30], cl
mov eax, dword [edx + 0x32c4]
cmp eax, 0x44
jne 0x41f2d4
cmp word [esi], ax
je 0x41f2d4
push 0
push 0
push 0x5c
mov ecx, ebp
call fcn.0043fc10
mov ecx, dword [ebp + 0x4504]
mov eax, dword [ecx + 0x32c4]
cmp eax, 0x4f
jne 0x41f35c
cmp word [esi], 0x53
jne 0x41f35c
mov eax, dword [ebp + 0x4170]
test ah, 4
jne 0x41f308
push 0
push 0
push 0x75
mov ecx, ebp
call fcn.0043fc10
jmp case.0x41f232.37
test ah, 8
jne 0x41f33e
mov eax, dword [ebp + 0x4158]
test eax, eax
jne 0x41f332
mov eax, dword [ebp + 0x4214]
test eax, eax
jne 0x41f332
push str.SayKasamRecollect
mov ecx, ebp
call fcn.00410410
jmp case.0x41f232.37
mov ecx, ebp
call fcn.00424fa0
jmp case.0x41f232.37
test ah, 0x10
jne 0x41f5dc
push 0
push 0
push 0xb0
mov ecx, ebp
call fcn.0043fc10
jmp case.0x41f232.37
cmp eax, 0x5d
je 0x41f370
cmp eax, 0x5e
je 0x41f370
cmp eax, 0x5f
je 0x41f370
cmp eax, 0x60
jne 0x41f3a0
cmp word [esi], 0x57
jne 0x41f3a0
mov ecx, dword [ebp + 0x4508]
push 0x54
call fcn.00476e20
test eax, eax
je 0x41f5dc
push 0
push 0
push 0xcf
mov ecx, ebp
call fcn.0043fc10
jmp case.0x41f232.37
cmp eax, 0x58
jne 0x41f46d
mov dx, word [esi]
cmp dx, 0x59
je 0x41f3c4
cmp dx, 0x5a
je 0x41f3c4
cmp dx, 0x5b
je 0x41f3c4
cmp dx, 0x5c
jne 0x41f426
lea eax, [esp + 0x18]
push eax
call sub.MFC42.DLL_CTime::GetTickCount
push 0
mov ecx, eax
call sub.MFC42.DLL_CTime::GetLocalTm
mov eax, dword [eax + 4]
mov ecx, 0x1e
cdq
idiv ecx
cmp edx, 0x18
jge 0x41f3f9
push 0
push 0
push 0x75
mov ecx, ebp
call fcn.0043fc10
jmp case.0x41f232.37
mov ecx, dword [ebp + 0x4508]
or edi, 0xffffffff
push edi
call fcn.00476e20
test eax, eax
je 0x41f5df
push 0
push 0
push 0x75
mov ecx, ebp
call fcn.0043fc10
mov dword [esp + 0x58], edi
jmp 0x421f53
cmp eax, 0x58
jne 0x41f46d
cmp word [esi], 0x57
jne 0x41f46d
lea edx, [esp + 0x1c]
push edx
call sub.MFC42.DLL_CTime::GetTickCount
push 0
mov ecx, eax
call sub.MFC42.DLL_CTime::GetLocalTm
mov eax, dword [eax + 4]
mov ecx, 0x1e
cdq
idiv ecx
cmp edx, 5
jl 0x41f5dc
push 0
push 0
push 0xc5
mov ecx, ebp
call fcn.0043fc10
jmp case.0x41f232.37
cmp eax, 0x84
jl 0x41f47b
cmp eax, 0x88
jle 0x41f490
mov dx, word [esi]
cmp dx, 0x84
jl 0x41f490
cmp dx, 0x88
jle case.0x41f232.37
cmp eax, 0x84
jl 0x41f52b
cmp eax, 0x88
jg 0x41f4e4
mov dx, word [esi]
cmp dx, 0x84
jl 0x41f4b3
cmp dx, 0x88
jle 0x41f4e4
call fcn.00474800
cmp eax, 0x18
jl 0x41f5dc
mov eax, dword [ebp + 0x4168]
test eax, eax
jne 0x41f5dc
push 0
push 0
push 0x14d
mov ecx, ebp
call fcn.0043fc10
jmp case.0x41f232.37
cmp eax, 0x84
jne 0x41f52b
mov dx, word [esi]
cmp dx, ax
jl 0x41f52b
cmp dx, 0x88
jg 0x41f52b
call fcn.00474800
cmp eax, 0x1d
jge 0x41f5dc
mov eax, dword [ebp + 0x4168]
test eax, eax
jne 0x41f5dc
push 0
push 0
push 0x139
mov ecx, ebp
call fcn.0043fc10
jmp case.0x41f232.37
cmp eax, 0xb4
jl 0x41f539
cmp eax, 0xbc
jle 0x41f54e
mov dx, word [esi]
cmp dx, 0xb4
jl 0x41f54e
cmp dx, 0xbc
jle case.0x41f232.37
cmp eax, 0xb4
jl 0x41f59d
cmp eax, 0xbc
jg 0x41f596
mov dx, word [esi]
cmp dx, 0xb4
jl 0x41f56d
cmp dx, 0xbc
jle 0x41f596
call fcn.004748d0
cmp eax, 0x1d
jl 0x41f5dc
mov eax, dword [ebp + 0x4168]
test eax, eax
jne 0x41f5dc
push 0
push 0
push 0x14d
mov ecx, ebp
call fcn.0043fc10
jmp case.0x41f232.37
cmp eax, 0xb4
je 0x41f5a4
cmp eax, 0xb5
jne 0x41f5dc
mov ax, word [esi]
cmp ax, 0xb4
jl 0x41f5dc
cmp ax, 0xbc
jg 0x41f5dc
call fcn.004748d0
cmp eax, 0x22
jge 0x41f5dc
mov eax, dword [ebp + 0x4168]
test eax, eax
jne 0x41f5dc
push 0
push 0
push 0x139
mov ecx, ebp
call fcn.0043fc10
jmp case.0x41f232.37
or edi, 0xffffffff
mov edx, dword [ebp + 0x4504]
cmp dword [edx + 0x32c4], 0x57
jne 0x41f785
cmp word [esi], 0x58
jne 0x41f785
mov eax, dword [ebp + 0x4170]
test ah, 0x80
jne 0x41f620
push 0
push 0
push 0xb0
mov ecx, ebp
call fcn.0043fc10
mov dword [esp + 0x58], edi
jmp 0x421f53
test eax, 0x10000
mov al, byte [ebp + 0x37fc]
je 0x41f6cb
cmp al, 3
jne 0x41f6a0
lea eax, [esp + 0x20]
push eax
call sub.MFC42.DLL_CTime::GetTickCount
push 0
mov ecx, eax
call sub.MFC42.DLL_CTime::GetLocalTm
mov eax, dword [eax + 4]
mov ecx, 0x1e
cdq
idiv ecx
push 0
cmp edx, 5
jge 0x41f702
mov dx, word [esi]
push 1
lea eax, [esp + 0x34]
push edx
push eax
mov ecx, ebp
call fcn.0043ed40
test eax, eax
je case.0x41f232.37
mov eax, dword [ebp + 0x21b0]
test eax, eax
jle case.0x41f232.37
mov cx, word [esi]
lea edx, [esp + 0x2c]
push ecx
mov ecx, dword [ebp + 0x4504]
push edx
push eax
call fcn.00461320
jmp case.0x41f232.37
lea eax, [esp + 0x24]
push eax
call sub.MFC42.DLL_CTime::GetTickCount
push 0
mov ecx, eax
call sub.MFC42.DLL_CTime::GetLocalTm
mov eax, dword [eax + 4]
mov ecx, 0x1e
cdq
idiv ecx
push 0
cmp edx, 5
jl 0x41f787
jmp 0x41f702
cmp al, 3
jne 0x41f76c
mov ecx, dword [ebp + 0x21b0]
test ecx, ecx
jle 0x41f74f
lea ecx, [esp + 0x28]
push ecx
call sub.MFC42.DLL_CTime::GetTickCount
push 0
mov ecx, eax
call sub.MFC42.DLL_CTime::GetLocalTm
mov eax, dword [eax + 4]
mov ecx, 0x1e
cdq
idiv ecx
cmp edx, 5
jl 0x41f719
push 0
push 0
push 0xb3
mov ecx, ebp
call fcn.0043fc10
mov dword [esp + 0x58], edi
jmp 0x421f53
mov dx, word [esi]
mov ecx, dword [ebp + 0x21b0]
lea eax, [esp + 0x2c]
push edx
push eax
push ecx
mov ecx, dword [ebp + 0x4504]
call fcn.00461320
test eax, eax
jne case.0x41f232.37
push eax
push eax
push 0xc9
mov ecx, ebp
call fcn.0043fc10
jmp case.0x41f232.37
cmp al, 3
jne 0x41f76c
push 0
push 0
push 0xc7
mov ecx, ebp
call fcn.0043fc10
mov dword [esp + 0x58], edi
jmp 0x421f53
push 0
push 0
push 0xc6
mov ecx, ebp
call fcn.0043fc10
mov dword [esp + 0x58], edi
jmp 0x421f53
push 0
mov dx, word [esi]
push 1
lea eax, [esp + 0x34]
push edx
push eax
mov ecx, ebp
call fcn.0043ed40
jmp case.0x41f232.37
mov cx, word [ebx + 4]
push ecx
mov ecx, ebp
call fcn.0042af40
jmp case.0x41f232.37
mov al, byte [ebp + 0x3804]
mov cx, word [ebp + 0x3802]
lea edx, [esp + 0x68]
push edx
mov dx, word [ebp + 0x3800]
push eax
push ecx
mov ecx, dword [ebp + 0x4504]
push edx
push 0x1f
call fcn.00447370
test eax, eax
je case.0x41f232.37
mov ecx, dword [esp + 0x68]
xor eax, eax
mov ax, word [ebx + 4]
mov dword [ebp + 0x4550], eax
mov eax, dword [ecx - 8]
test eax, eax
je 0x420e33
cmp dword [ebp + 0x449c], 1
je 0x420e33
mov ecx, ebp
call fcn.0040b670
test eax, eax
jne 0x420e33
mov ecx, ebp
call fcn.0040b6b0
test eax, eax
jne 0x420e33
mov eax, dword [ebp + 0x4158]
test eax, eax
jne 0x420e33
mov eax, dword [ebp + 0x4214]
test eax, eax
jne 0x420e33
mov ecx, dword [ebp + 0x4504]
call fcn.004445a0
mov esi, dword [eax + 0x18]
mov ax, word [ebx + 4]
test ax, ax
jbe 0x41f8d8
cmp ax, 0x18
ja 0x41f8d8
mov ecx, dword [ebp + 0x42c8]
test ecx, ecx
jle 0x41f8d8
test esi, esi
je 0x41f8d8
and eax, 0xffff
mov ecx, esi
push eax
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::IsEmptyArmyShop_int_]
cmp eax, 1
jne 0x41f8d8
mov edx, dword [ebp + 0x42c8]
lea eax, [ebp + 0x37d8]
push edx
push eax
mov ecx, esi
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::IsArmyCommander_char___int_]
cmp eax, 1
jne 0x41f8d8
mov ecx, dword [ebp + 0x42c8]
push ecx
mov ecx, esi
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::GetArmyShopCount_int_]
test eax, eax
jne 0x41f8d8
mov edx, dword [ebp + 0x42c8]
mov ecx, esi
push edx
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::GetArmyAgitCount_int_]
test eax, eax
jle 0x41f8d8
mov eax, dword [ebp + 0x42c8]
mov ecx, esi
push eax
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::IsArmyBaseOwner_int_]
test eax, eax
je 0x4215bb
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
cmp eax, dword [ebx + 0x10]
jb 0x41f8f5
call esi
sub eax, dword [ebx + 0x10]
cmp eax, 0x493e0
jb 0x42162a
call dword [sym.imp.MSVCRT.dll_rand]
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x63
jne 0x42162a
mov eax, dword [ebp + 0x41c4]
test eax, eax
jne 0x42162a
mov eax, dword [ebp + 0x451c]
test eax, eax
jne 0x42162a
push 0
push 0
mov ecx, ebp
call fcn.004281c0
cmp eax, 1
jne 0x42162a
mov edi, dword [esp + 0x68]
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp + 0x41cc]
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
rep movsb byte es:[edi], byte [esi]
mov cx, word [esp + 0x64]
lea edi, [ebp + 0x4520]
mov word [ebp + 0x41de], cx
mov edx, dword [ebp + 0x4504]
mov ecx, 5
mov esi, ebx
mov eax, dword [edx + 0x32c4]
mov word [ebp + 0x41e0], ax
rep movsd dword es:[edi], dword [esi]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push str.VendorSubQuest
mov ecx, ebp
mov dword [ebx + 0x10], eax
call fcn.00410410
jmp case.0x41f232.37
mov al, byte [ebp + 0x3804]
mov cx, word [ebp + 0x3802]
lea edx, [esp + 0x68]
push edx
mov dx, word [ebp + 0x3800]
push eax
push ecx
mov ecx, dword [ebp + 0x4504]
push edx
push 0x20
call fcn.00447370
test eax, eax
je case.0x41f232.37
mov ecx, dword [esp + 0x68]
xor eax, eax
mov ax, word [ebx + 4]
mov dword [ebp + 0x4550], eax
mov eax, dword [ecx - 8]
test eax, eax
je 0x420e33
cmp dword [ebp + 0x449c], 1
je 0x420e33
mov ecx, ebp
call fcn.0040b670
test eax, eax
jne 0x420e33
mov ecx, ebp
call fcn.0040b6b0
test eax, eax
jne 0x420e33
mov eax, dword [ebp + 0x4158]
test eax, eax
jne 0x420e33
mov eax, dword [ebp + 0x4214]
test eax, eax
jne 0x420e33
mov ecx, dword [ebp + 0x4504]
call fcn.004445a0
mov esi, dword [eax + 0x18]
mov ax, word [ebx + 4]
test ax, ax
jbe 0x41fad4
cmp ax, 0x18
ja 0x41fad4
mov ecx, dword [ebp + 0x42c8]
test ecx, ecx
jle 0x41fad4
test esi, esi
je 0x41fad4
and eax, 0xffff
mov ecx, esi
push eax
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::IsEmptyArmyShop_int_]
cmp eax, 1
jne 0x41fad4
mov edx, dword [ebp + 0x42c8]
lea eax, [ebp + 0x37d8]
push edx
push eax
mov ecx, esi
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::IsArmyCommander_char___int_]
cmp eax, 1
jne 0x41fad4
mov ecx, dword [ebp + 0x42c8]
push ecx
mov ecx, esi
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::GetArmyShopCount_int_]
test eax, eax
jne 0x41fad4
mov edx, dword [ebp + 0x42c8]
mov ecx, esi
push edx
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::GetArmyAgitCount_int_]
test eax, eax
jle 0x41fad4
mov eax, dword [ebp + 0x42c8]
mov ecx, esi
push eax
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::IsArmyBaseOwner_int_]
test eax, eax
je 0x4215bb
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
cmp eax, dword [ebx + 0x10]
jb 0x41faf1
call esi
sub eax, dword [ebx + 0x10]
cmp eax, 0x493e0
jb 0x42162a
call dword [sym.imp.MSVCRT.dll_rand]
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x63
jne 0x42162a
mov eax, dword [ebp + 0x41c4]
test eax, eax
jne 0x42162a
mov eax, dword [ebp + 0x451c]
test eax, eax
jne 0x42162a
push 0
push 0
mov ecx, ebp
call fcn.004281c0
cmp eax, 1
jne 0x42162a
mov edi, dword [esp + 0x68]
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp + 0x41cc]
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
rep movsb byte es:[edi], byte [esi]
mov cx, word [esp + 0x64]
lea edi, [ebp + 0x4520]
mov word [ebp + 0x41de], cx
mov edx, dword [ebp + 0x4504]
mov ecx, 5
mov esi, ebx
mov eax, dword [edx + 0x32c4]
mov word [ebp + 0x41e0], ax
rep movsd dword es:[edi], dword [esi]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push str.OldWomanSubQuest
mov ecx, ebp
mov dword [ebx + 0x10], eax
call fcn.00410410
jmp case.0x41f232.37
mov al, byte [ebp + 0x3804]
mov cx, word [ebp + 0x3802]
lea edx, [esp + 0x68]
push edx
mov dx, word [ebp + 0x3800]
push eax
push ecx
mov ecx, dword [ebp + 0x4504]
push edx
push 0x21
call fcn.00447370
test eax, eax
je case.0x41f232.37
mov ecx, dword [esp + 0x68]
xor eax, eax
mov ax, word [ebx + 4]
mov dword [ebp + 0x4550], eax
mov eax, dword [ecx - 8]
test eax, eax
je 0x420e33
cmp dword [ebp + 0x449c], 1
je 0x420e33
mov ecx, ebp
call fcn.0040b670
test eax, eax
jne 0x420e33
mov ecx, ebp
call fcn.0040b6b0
test eax, eax
jne 0x420e33
mov eax, dword [ebp + 0x4158]
test eax, eax
jne 0x420e33
mov eax, dword [ebp + 0x4214]
test eax, eax
jne 0x420e33
mov ecx, dword [ebp + 0x4504]
call fcn.004445a0
mov esi, dword [eax + 0x18]
mov ax, word [ebx + 4]
test ax, ax
jbe 0x41fcd0
cmp ax, 0x18
ja 0x41fcd0
mov ecx, dword [ebp + 0x42c8]
test ecx, ecx
jle 0x41fcd0
test esi, esi
je 0x41fcd0
and eax, 0xffff
mov ecx, esi
push eax
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::IsEmptyArmyShop_int_]
cmp eax, 1
jne 0x41fcd0
mov edx, dword [ebp + 0x42c8]
lea eax, [ebp + 0x37d8]
push edx
push eax
mov ecx, esi
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::IsArmyCommander_char___int_]
cmp eax, 1
jne 0x41fcd0
mov ecx, dword [ebp + 0x42c8]
push ecx
mov ecx, esi
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::GetArmyShopCount_int_]
test eax, eax
jne 0x41fcd0
mov edx, dword [ebp + 0x42c8]
mov ecx, esi
push edx
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::GetArmyAgitCount_int_]
test eax, eax
jle 0x41fcd0
mov eax, dword [ebp + 0x42c8]
mov ecx, esi
push eax
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::IsArmyBaseOwner_int_]
test eax, eax
je 0x4215bb
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
cmp eax, dword [ebx + 0x10]
jb 0x41fced
call esi
sub eax, dword [ebx + 0x10]
cmp eax, 0x493e0
jb 0x42162a
call dword [sym.imp.MSVCRT.dll_rand]
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x63
jne 0x42162a
mov eax, dword [ebp + 0x41c4]
test eax, eax
jne 0x42162a
mov eax, dword [ebp + 0x451c]
test eax, eax
jne 0x42162a
push 0
push 0
mov ecx, ebp
call fcn.004281c0
cmp eax, 1
jne 0x42162a
mov edi, dword [esp + 0x68]
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp + 0x41cc]
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
rep movsb byte es:[edi], byte [esi]
mov cx, word [esp + 0x64]
lea edi, [ebp + 0x4520]
mov word [ebp + 0x41de], cx
mov edx, dword [ebp + 0x4504]
mov ecx, 5
mov esi, ebx
mov eax, dword [edx + 0x32c4]
mov word [ebp + 0x41e0], ax
rep movsd dword es:[edi], dword [esi]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push str.SmallStoreOwnerSubQuest
mov ecx, ebp
mov dword [ebx + 0x10], eax
call fcn.00410410
jmp case.0x41f232.37
mov al, byte [ebp + 0x3804]
mov cx, word [ebp + 0x3802]
lea edx, [esp + 0x68]
push edx
mov dx, word [ebp + 0x3800]
push eax
push ecx
mov ecx, dword [ebp + 0x4504]
push edx
push 0x22
call fcn.00447370
test eax, eax
je case.0x41f232.37
mov ecx, dword [esp + 0x68]
xor eax, eax
mov ax, word [ebx + 4]
mov dword [ebp + 0x4550], eax
mov eax, dword [ecx - 8]
test eax, eax
je 0x420e33
cmp dword [ebp + 0x449c], 1
je 0x420e33
mov ecx, ebp
call fcn.0040b670
test eax, eax
jne 0x420e33
mov ecx, ebp
call fcn.0040b6b0
test eax, eax
jne 0x420e33
mov eax, dword [ebp + 0x4158]
test eax, eax
jne 0x420e33
mov eax, dword [ebp + 0x4214]
test eax, eax
jne 0x420e33
mov ecx, dword [ebp + 0x4504]
call fcn.004445a0
mov esi, dword [eax + 0x18]
mov ax, word [ebx + 4]
test ax, ax
jbe 0x41fecc
cmp ax, 0x18
ja 0x41fecc
mov ecx, dword [ebp + 0x42c8]
test ecx, ecx
jle 0x41fecc
test esi, esi
je 0x41fecc
and eax, 0xffff
mov ecx, esi
push eax
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::IsEmptyArmyShop_int_]
cmp eax, 1
jne 0x41fecc
mov edx, dword [ebp + 0x42c8]
lea eax, [ebp + 0x37d8]
push edx
push eax
mov ecx, esi
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::IsArmyCommander_char___int_]
cmp eax, 1
jne 0x41fecc
mov ecx, dword [ebp + 0x42c8]
push ecx
mov ecx, esi
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::GetArmyShopCount_int_]
test eax, eax
jne 0x41fecc
mov edx, dword [ebp + 0x42c8]
mov ecx, esi
push edx
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::GetArmyAgitCount_int_]
test eax, eax
jle 0x41fecc
mov eax, dword [ebp + 0x42c8]
mov ecx, esi
push eax
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::IsArmyBaseOwner_int_]
test eax, eax
je 0x4215bb
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
cmp eax, dword [ebx + 0x10]
jb 0x41fee9
call esi
sub eax, dword [ebx + 0x10]
cmp eax, 0x493e0
jb 0x42162a
call dword [sym.imp.MSVCRT.dll_rand]
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x63
jne 0x42162a
mov eax, dword [ebp + 0x41c4]
test eax, eax
jne 0x42162a
mov eax, dword [ebp + 0x451c]
test eax, eax
jne 0x42162a
push 0
push 0
mov ecx, ebp
call fcn.004281c0
cmp eax, 1
jne 0x42162a
mov edi, dword [esp + 0x68]
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp + 0x41cc]
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
rep movsb byte es:[edi], byte [esi]
mov cx, word [esp + 0x64]
lea edi, [ebp + 0x4520]
mov word [ebp + 0x41de], cx
mov edx, dword [ebp + 0x4504]
mov ecx, 5
mov esi, ebx
mov eax, dword [edx + 0x32c4]
mov word [ebp + 0x41e0], ax
rep movsd dword es:[edi], dword [esi]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push str.RunAwayGirlSubQuest
mov ecx, ebp
mov dword [ebx + 0x10], eax
call fcn.00410410
jmp case.0x41f232.37
mov al, byte [ebp + 0x3804]
mov cx, word [ebp + 0x3802]
lea edx, [esp + 0x68]
push edx
mov dx, word [ebp + 0x3800]
push eax
push ecx
mov ecx, dword [ebp + 0x4504]
push edx
push 0x23
call fcn.00447370
test eax, eax
je case.0x41f232.37
mov ecx, dword [esp + 0x68]
xor eax, eax
mov ax, word [ebx + 4]
mov dword [ebp + 0x4550], eax
mov eax, dword [ecx - 8]
test eax, eax
je 0x420e33
cmp dword [ebp + 0x449c], 1
je 0x420e33
mov ecx, ebp
call fcn.0040b670
test eax, eax
jne 0x420e33
mov ecx, ebp
call fcn.0040b6b0
test eax, eax
jne 0x420e33
mov eax, dword [ebp + 0x4158]
test eax, eax
jne 0x420e33
mov eax, dword [ebp + 0x4214]
test eax, eax
jne 0x420e33
mov ecx, dword [ebp + 0x4504]
call fcn.004445a0
mov esi, dword [eax + 0x18]
mov ax, word [ebx + 4]
test ax, ax
jbe 0x4200c8
cmp ax, 0x18
ja 0x4200c8
mov ecx, dword [ebp + 0x42c8]
test ecx, ecx
jle 0x4200c8
test esi, esi
je 0x4200c8
and eax, 0xffff
mov ecx, esi
push eax
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::IsEmptyArmyShop_int_]
cmp eax, 1
jne 0x4200c8
mov edx, dword [ebp + 0x42c8]
lea eax, [ebp + 0x37d8]
push edx
push eax
mov ecx, esi
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::IsArmyCommander_char___int_]
cmp eax, 1
jne 0x4200c8
mov ecx, dword [ebp + 0x42c8]
push ecx
mov ecx, esi
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::GetArmyShopCount_int_]
test eax, eax
jne 0x4200c8
mov edx, dword [ebp + 0x42c8]
mov ecx, esi
push edx
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::GetArmyAgitCount_int_]
test eax, eax
jle 0x4200c8
mov eax, dword [ebp + 0x42c8]
mov ecx, esi
push eax
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::IsArmyBaseOwner_int_]
test eax, eax
je 0x4215bb
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
cmp eax, dword [ebx + 0x10]
jb 0x4200e5
call esi
sub eax, dword [ebx + 0x10]
cmp eax, 0x493e0
jb 0x42162a
call dword [sym.imp.MSVCRT.dll_rand]
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x63
jne 0x42162a
mov eax, dword [ebp + 0x41c4]
test eax, eax
jne 0x42162a
mov eax, dword [ebp + 0x451c]
test eax, eax
jne 0x42162a
push 0
push 0
mov ecx, ebp
call fcn.004281c0
cmp eax, 1
jne 0x42162a
mov edi, dword [esp + 0x68]
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp + 0x41cc]
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
rep movsb byte es:[edi], byte [esi]
mov cx, word [esp + 0x64]
lea edi, [ebp + 0x4520]
mov word [ebp + 0x41de], cx
mov edx, dword [ebp + 0x4504]
mov ecx, 5
mov esi, ebx
mov eax, dword [edx + 0x32c4]
mov word [ebp + 0x41e0], ax
rep movsd dword es:[edi], dword [esi]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push str.ScientistSubQuest
mov ecx, ebp
mov dword [ebx + 0x10], eax
call fcn.00410410
jmp case.0x41f232.37
mov al, byte [ebp + 0x3804]
mov cx, word [ebp + 0x3802]
lea edx, [esp + 0x68]
push edx
mov dx, word [ebp + 0x3800]
push eax
push ecx
mov ecx, dword [ebp + 0x4504]
push edx
push 0x24
call fcn.00447370
test eax, eax
je case.0x41f232.37
mov ecx, dword [esp + 0x68]
xor eax, eax
mov ax, word [ebx + 4]
mov dword [ebp + 0x4550], eax
mov eax, dword [ecx - 8]
test eax, eax
je 0x420e33
cmp dword [ebp + 0x449c], 1
je 0x420e33
mov ecx, ebp
call fcn.0040b670
test eax, eax
jne 0x420e33
mov ecx, ebp
call fcn.0040b6b0
test eax, eax
jne 0x420e33
mov eax, dword [ebp + 0x4158]
test eax, eax
jne 0x420e33
mov eax, dword [ebp + 0x4214]
test eax, eax
jne 0x420e33
mov ecx, dword [ebp + 0x4504]
call fcn.004445a0
mov esi, dword [eax + 0x18]
mov ax, word [ebx + 4]
test ax, ax
jbe 0x4202c4
cmp ax, 0x18
ja 0x4202c4
mov ecx, dword [ebp + 0x42c8]
test ecx, ecx
jle 0x4202c4
test esi, esi
je 0x4202c4
and eax, 0xffff
mov ecx, esi
push eax
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::IsEmptyArmyShop_int_]
cmp eax, 1
jne 0x4202c4
mov edx, dword [ebp + 0x42c8]
lea eax, [ebp + 0x37d8]
push edx
push eax
mov ecx, esi
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::IsArmyCommander_char___int_]
cmp eax, 1
jne 0x4202c4
mov ecx, dword [ebp + 0x42c8]
push ecx
mov ecx, esi
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::GetArmyShopCount_int_]
test eax, eax
jne 0x4202c4
mov edx, dword [ebp + 0x42c8]
mov ecx, esi
push edx
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::GetArmyAgitCount_int_]
test eax, eax
jle 0x4202c4
mov eax, dword [ebp + 0x42c8]
mov ecx, esi
push eax
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::IsArmyBaseOwner_int_]
test eax, eax
je 0x4215bb
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
cmp eax, dword [ebx + 0x10]
jb 0x4202e1
call esi
sub eax, dword [ebx + 0x10]
cmp eax, 0x493e0
jb 0x42162a
call dword [sym.imp.MSVCRT.dll_rand]
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x63
jne 0x42162a
mov eax, dword [ebp + 0x41c4]
test eax, eax
jne 0x42162a
mov eax, dword [ebp + 0x451c]
test eax, eax
jne 0x42162a
push 0
push 0
mov ecx, ebp
call fcn.004281c0
cmp eax, 1
jne 0x42162a
mov edi, dword [esp + 0x68]
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp + 0x41cc]
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
rep movsb byte es:[edi], byte [esi]
mov cx, word [esp + 0x64]
lea edi, [ebp + 0x4520]
mov word [ebp + 0x41de], cx
mov edx, dword [ebp + 0x4504]
mov ecx, 5
mov esi, ebx
mov eax, dword [edx + 0x32c4]
mov word [ebp + 0x41e0], ax
rep movsd dword es:[edi], dword [esi]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push str.WatchmanSubQuest
mov ecx, ebp
mov dword [ebx + 0x10], eax
call fcn.00410410
jmp case.0x41f232.37
mov al, byte [ebp + 0x3804]
mov cx, word [ebp + 0x3802]
lea edx, [esp + 0x68]
push edx
mov dx, word [ebp + 0x3800]
push eax
push ecx
mov ecx, dword [ebp + 0x4504]
push edx
push 0x25
call fcn.00447370
test eax, eax
je case.0x41f232.37
mov ecx, dword [esp + 0x68]
xor eax, eax
mov ax, word [ebx + 4]
mov dword [ebp + 0x4550], eax
mov eax, dword [ecx - 8]
test eax, eax
je 0x420e33
cmp dword [ebp + 0x449c], 1
je 0x420e33
mov ecx, ebp
call fcn.0040b670
test eax, eax
jne 0x420e33
mov ecx, ebp
call fcn.0040b6b0
test eax, eax
jne 0x420e33
mov eax, dword [ebp + 0x4158]
test eax, eax
jne 0x420e33
mov eax, dword [ebp + 0x4214]
test eax, eax
jne 0x420e33
mov ecx, dword [ebp + 0x4504]
call fcn.004445a0
mov esi, dword [eax + 0x18]
mov ax, word [ebx + 4]
test ax, ax
jbe 0x4204c0
cmp ax, 0x18
ja 0x4204c0
mov ecx, dword [ebp + 0x42c8]
test ecx, ecx
jle 0x4204c0
test esi, esi
je 0x4204c0
and eax, 0xffff
mov ecx, esi
push eax
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::IsEmptyArmyShop_int_]
cmp eax, 1
jne 0x4204c0
mov edx, dword [ebp + 0x42c8]
lea eax, [ebp + 0x37d8]
push edx
push eax
mov ecx, esi
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::IsArmyCommander_char___int_]
cmp eax, 1
jne 0x4204c0
mov ecx, dword [ebp + 0x42c8]
push ecx
mov ecx, esi
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::GetArmyShopCount_int_]
test eax, eax
jne 0x4204c0
mov edx, dword [ebp + 0x42c8]
mov ecx, esi
push edx
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::GetArmyAgitCount_int_]
test eax, eax
jle 0x4204c0
mov eax, dword [ebp + 0x42c8]
mov ecx, esi
push eax
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::IsArmyBaseOwner_int_]
test eax, eax
je 0x4215bb
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
cmp eax, dword [ebx + 0x10]
jb 0x4204dd
call esi
sub eax, dword [ebx + 0x10]
cmp eax, 0x493e0
jb 0x42162a
call dword [sym.imp.MSVCRT.dll_rand]
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x63
jne 0x42162a
mov eax, dword [ebp + 0x41c4]
test eax, eax
jne 0x42162a
mov eax, dword [ebp + 0x451c]
test eax, eax
jne 0x42162a
push 0
push 0
mov ecx, ebp
call fcn.004281c0
cmp eax, 1
jne 0x42162a
mov edi, dword [esp + 0x68]
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp + 0x41cc]
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
rep movsb byte es:[edi], byte [esi]
mov cx, word [esp + 0x64]
lea edi, [ebp + 0x4520]
mov word [ebp + 0x41de], cx
mov edx, dword [ebp + 0x4504]
mov ecx, 5
mov esi, ebx
mov eax, dword [edx + 0x32c4]
mov word [ebp + 0x41e0], ax
rep movsd dword es:[edi], dword [esi]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push str.GeographerSubQuest
mov ecx, ebp
mov dword [ebx + 0x10], eax
call fcn.00410410
jmp case.0x41f232.37
mov al, byte [ebp + 0x3804]
mov cx, word [ebp + 0x3802]
lea edx, [esp + 0x68]
push edx
mov dx, word [ebp + 0x3800]
push eax
push ecx
mov ecx, dword [ebp + 0x4504]
push edx
push 4
call fcn.00447370
test eax, eax
je case.0x41f232.37
mov ecx, ebp
call fcn.0042b030
jmp case.0x41f232.37
mov cl, byte [ebp + 0x3804]
mov dx, word [ebp + 0x3802]
lea eax, [esp + 0x68]
push eax
mov ax, word [ebp + 0x3800]
push ecx
mov ecx, dword [ebp + 0x4504]
push edx
push eax
push 6
call fcn.00447370
test eax, eax
je case.0x41f232.37
mov ecx, ebp
call fcn.0040b670
cmp eax, 1
jne 0x420640
mov ecx, dword [ebp + 0x4504]
call fcn.00474800
cmp eax, 0x18
jge 0x42067f
mov ecx, 0x18
lea edx, [esp + 0x60]
sub ecx, eax
push 2
mov dword [esp + 0x64], ecx
push edx
push 0x17e
mov ecx, ebp
call fcn.0043fc10
jmp case.0x41f232.37
mov ecx, ebp
call fcn.0040b6b0
cmp eax, 1
jne 0x42067f
mov ecx, dword [ebp + 0x4504]
call fcn.004748d0
cmp eax, 0x1d
jge 0x42067f
mov ecx, 0x1d
lea edx, [esp + 0x60]
sub ecx, eax
push 2
mov dword [esp + 0x64], ecx
push edx
push 0x17e
mov ecx, ebp
call fcn.0043fc10
jmp case.0x41f232.37
mov eax, dword [esp + 0x68]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x420b88
cmp dword [ebp + 0x449c], 1
je 0x420b88
mov ecx, ebp
call fcn.0040b670
test eax, eax
jne 0x420b88
mov ecx, ebp
call fcn.0040b6b0
test eax, eax
jne 0x420b88
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
cmp eax, dword [ebx + 0x10]
jb 0x4206d6
call esi
sub eax, dword [ebx + 0x10]
cmp eax, 0x493e0
jb 0x420b88
call dword [sym.imp.MSVCRT.dll_rand]
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x63
jne 0x420b88
mov eax, dword [ebp + 0x41c4]
test eax, eax
jne 0x420b88
mov eax, dword [ebp + 0x451c]
test eax, eax
jne 0x420b88
push 0
push 0
mov ecx, ebp
call fcn.004281c0
cmp eax, 1
jne 0x420b88
mov eax, dword [ebp + 0x4158]
test eax, eax
jne 0x420b88
mov eax, dword [ebp + 0x4214]
test eax, eax
jne 0x420b88
mov edi, dword [esp + 0x68]
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp + 0x41cc]
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
rep movsb byte es:[edi], byte [esi]
mov cx, word [esp + 0x64]
lea edi, [ebp + 0x4520]
mov word [ebp + 0x41de], cx
mov edx, dword [ebp + 0x4504]
mov ecx, 5
mov esi, ebx
mov eax, dword [edx + 0x32c4]
mov word [ebp + 0x41e0], ax
rep movsd dword es:[edi], dword [esi]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push str.BankSubQuest
mov ecx, ebp
mov dword [ebx + 0x10], eax
call fcn.00410410
jmp case.0x41f232.37
mov cl, byte [ebp + 0x3804]
mov dx, word [ebp + 0x3802]
lea eax, [esp + 0x68]
push eax
mov ax, word [ebp + 0x3800]
push ecx
mov ecx, dword [ebp + 0x4504]
push edx
push eax
push 8
call fcn.00447370
test eax, eax
je case.0x41f232.37
mov ecx, dword [esp + 0x68]
mov eax, dword [ecx - 8]
test eax, eax
je 0x420b1f
cmp dword [ebp + 0x449c], 1
je 0x420b1f
mov ecx, ebp
call fcn.0040b670
test eax, eax
jne 0x420b1f
mov ecx, ebp
call fcn.0040b6b0
test eax, eax
jne 0x420b1f
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
cmp eax, dword [ebx + 0x10]
jb 0x420830
call esi
sub eax, dword [ebx + 0x10]
cmp eax, 0x493e0
jb 0x420b1f
call dword [sym.imp.MSVCRT.dll_rand]
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x63
jne 0x420b1f
mov eax, dword [ebp + 0x41c4]
test eax, eax
jne 0x420b1f
mov eax, dword [ebp + 0x451c]
test eax, eax
jne 0x420b1f
push 0
push 0
mov ecx, ebp
call fcn.004281c0
cmp eax, 1
jne 0x420b1f
mov eax, dword [ebp + 0x4158]
test eax, eax
jne 0x420b1f
mov eax, dword [ebp + 0x4214]
test eax, eax
jne 0x420b1f
mov edi, dword [esp + 0x68]
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp + 0x41cc]
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
rep movsb byte es:[edi], byte [esi]
mov cx, word [esp + 0x64]
lea edi, [ebp + 0x4520]
mov word [ebp + 0x41de], cx
mov edx, dword [ebp + 0x4504]
mov ecx, 5
mov esi, ebx
mov eax, dword [edx + 0x32c4]
mov word [ebp + 0x41e0], ax
rep movsd dword es:[edi], dword [esi]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push str.DoctorSubQuest
mov ecx, ebp
mov dword [ebx + 0x10], eax
call fcn.00410410
jmp case.0x41f232.37
mov cl, byte [ebp + 0x3804]
mov dx, word [ebp + 0x3802]
lea eax, [esp + 0x68]
push eax
mov ax, word [ebp + 0x3800]
push ecx
mov ecx, dword [ebp + 0x4504]
push edx
push eax
push 0x52
call fcn.00447370
test eax, eax
je case.0x41f232.37
mov ecx, dword [ebp + 0x4504]
mov eax, dword [ecx + 0x32c4]
cmp eax, 0x5d
jl 0x420949
cmp eax, 0x6c
jle 0x42095f
cmp eax, 0x89
jl case.0x41f232.37
cmp eax, 0xb0
jg case.0x41f232.37
mov dx, word [ebx + 4]
mov ecx, ebp
push edx
call fcn.0042ae90
jmp case.0x41f232.37
mov cl, byte [ebp + 0x3804]
mov dx, word [ebp + 0x3802]
lea eax, [esp + 0x68]
push eax
mov ax, word [ebp + 0x3800]
push ecx
mov ecx, dword [ebp + 0x4504]
push edx
push eax
push 0x53
call fcn.00447370
test eax, eax
je case.0x41f232.37
mov ecx, dword [ebp + 0x4504]
mov eax, dword [ecx + 0x32c4]
cmp eax, 0x5d
jl 0x4209b7
cmp eax, 0x6c
jle 0x42095f
cmp eax, 0x89
jl case.0x41f232.37
cmp eax, 0xb0
jg case.0x41f232.37
mov dx, word [ebx + 4]
mov ecx, ebp
push edx
call fcn.0042ae90
jmp case.0x41f232.37
mov cl, byte [ebp + 0x3804]
mov dx, word [ebp + 0x3802]
lea eax, [esp + 0x68]
push eax
mov ax, word [ebp + 0x3800]
push ecx
mov ecx, dword [ebp + 0x4504]
push edx
push eax
push 0x54
call fcn.00447370
test eax, eax
je case.0x41f232.37
mov ecx, dword [ebp + 0x4504]
mov eax, dword [ecx + 0x32c4]
cmp eax, 0x5d
jl 0x420a29
cmp eax, 0x6c
jle 0x42095f
cmp eax, 0x89
jl case.0x41f232.37
call dword [sym.imp.rm3944.dll_NewMapFix3]
nop
nop
nop
nop
nop
mov dx, word [ebx + 4]
mov ecx, ebp
push edx
call fcn.0042ae90
jmp case.0x41f232.37
mov cl, byte [ebp + 0x3804]
mov dx, word [ebp + 0x3802]
lea eax, [esp + 0x68]
push eax
mov ax, word [ebp + 0x3800]
push ecx
mov ecx, dword [ebp + 0x4504]
push edx
push eax
push 0x55
call fcn.00447370
test eax, eax
je case.0x41f232.37
mov ecx, dword [ebp + 0x4504]
mov eax, dword [ecx + 0x32c4]
cmp eax, 0x5d
jl 0x420a9b
cmp eax, 0x6c
jle 0x42095f
cmp eax, 0x89
jl case.0x41f232.37
cmp eax, 0xb0
jg case.0x41f232.37
mov dx, word [ebx + 4]
mov ecx, ebp
push edx
call fcn.0042ae90
jmp case.0x41f232.37
mov cl, byte [ebp + 0x3804]
mov dx, word [ebp + 0x3802]
lea eax, [esp + 0x68]
push eax
mov ax, word [ebp + 0x3800]
push ecx
mov ecx, dword [ebp + 0x4504]
push edx
push eax
push 0x51
call fcn.00447370
test eax, eax
je case.0x41f232.37
mov ecx, dword [ebp + 0x4504]
mov eax, dword [ecx + 0x32c4]
cmp eax, 0x5d
jl 0x420b09
cmp eax, 0x6c
jle 0x420b1f
cmp eax, 0x89
jl case.0x41f232.37
call dword [sym.imp.rm3944.dll_NewMapFix3]
nop
nop
nop
nop
nop
mov ecx, ebp
call fcn.0041b420
jmp case.0x41f232.37
mov al, byte [ebp + 0x3804]
mov cx, word [ebp + 0x3802]
lea edx, [esp + 0x68]
push edx
mov dx, word [ebp + 0x3800]
push eax
push ecx
mov ecx, dword [ebp + 0x4504]
push edx
push 0x50
call fcn.00447370
test eax, eax
je case.0x41f232.37
mov eax, dword [ebp + 0x4504]
mov eax, dword [eax + 0x32c4]
cmp eax, 0x5d
jl 0x420b72
cmp eax, 0x6c
jle 0x420b88
cmp eax, 0x89
jl case.0x41f232.37
call dword [sym.imp.rm3944.dll_NewMapFix3]
nop
nop
nop
nop
nop
mov ecx, ebp
call fcn.0041ebb0
mov ecx, ebp
call fcn.0041ec10
jmp case.0x41f232.37
mov dl, byte [ebp + 0x3804]
mov ax, word [ebp + 0x3802]
lea ecx, [esp + 0x68]
push ecx
mov cx, word [ebp + 0x3800]
push edx
push eax
push ecx
mov ecx, dword [ebp + 0x4504]
push 0x56
call fcn.00447370
test eax, eax
je case.0x41f232.37
mov edx, dword [ebp + 0x4504]
mov eax, dword [edx + 0x32c4]
cmp eax, 0x5d
jl 0x420be2
cmp eax, 0x6c
jle 0x420bf8
cmp eax, 0x89
jl case.0x41f232.37
cmp eax, 0xb0
jg case.0x41f232.37
mov ecx, ebp
call fcn.0040d6b0
jmp case.0x41f232.37
mov ecx, ebp
call fcn.0041b440
jmp case.0x41f232.37
mov ecx, ebp
call fcn.00411b90
jmp case.0x41f232.37
mov ecx, ebp
call fcn.00411dc0
jmp case.0x41f232.37
mov ecx, ebp
call fcn.0040b700
mov ecx, dword [eax + 0x18]
test ecx, ecx
je case.0x41f232.37
mov eax, dword [ebp + 0x42c8]
test eax, eax
jg 0x420c56
push 0
push 0
push 0x32
mov ecx, ebp
call fcn.0043fc10
jmp case.0x41f232.37
mov ebx, dword [ebx]
cmp ebx, 0xf
jne 0x420c69
mov ecx, ebp
call fcn.00411bb0
jmp case.0x41f232.37
cmp ebx, 0xe
jne 0x420c7a
mov ecx, ebp
call fcn.00411d30
jmp case.0x41f232.37
cmp ebx, 0xd
jne case.0x41f232.37
mov ecx, ebp
call fcn.00411f50
jmp case.0x41f232.37
cmp dword [ebp + 0x4348], 0x1388
jb case.0x41f232.37
mov eax, dword [ebp + 0x42c8]
test eax, eax
jg 0x420cbe
push 0
push 0
push 0xdb
mov ecx, ebp
call fcn.0043fc10
jmp case.0x41f232.37
mov ecx, ebp
call fcn.0041b400
jmp case.0x41f232.37
mov cl, byte [ebp + 0x3804]
mov dx, word [ebp + 0x3802]
lea eax, [esp + 0x68]
push eax
mov ax, word [ebp + 0x3800]
push ecx
mov ecx, dword [ebp + 0x4504]
push edx
push eax
push 0x14
call fcn.00447370
test eax, eax
je case.0x41f232.37
mov ecx, dword [esp + 0x68]
mov eax, dword [ecx - 8]
test eax, eax
je 0x420e1c
cmp dword [ebp + 0x449c], 1
je 0x420e1c
mov ecx, ebp
call fcn.0040b670
test eax, eax
jne 0x420e1c
mov ecx, ebp
call fcn.0040b6b0
test eax, eax
jne 0x420e1c
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
cmp eax, dword [ebx + 0x10]
jb 0x420d52
call esi
sub eax, dword [ebx + 0x10]
cmp eax, 0x493e0
jb 0x420e1c
call dword [sym.imp.MSVCRT.dll_rand]
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x63
jne 0x420e1c
mov eax, dword [ebp + 0x41c4]
test eax, eax
jne 0x420e1c
mov eax, dword [ebp + 0x451c]
test eax, eax
jne 0x420e1c
push 0
push 0
mov ecx, ebp
call fcn.004281c0
cmp eax, 1
jne 0x420e1c
mov eax, dword [ebp + 0x4158]
test eax, eax
jne 0x420e1c
mov eax, dword [ebp + 0x4214]
test eax, eax
jne 0x420e1c
mov edi, dword [esp + 0x68]
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp + 0x41cc]
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
rep movsb byte es:[edi], byte [esi]
mov cx, word [esp + 0x64]
lea edi, [ebp + 0x4520]
mov word [ebp + 0x41de], cx
mov edx, dword [ebp + 0x4504]
mov ecx, 5
mov esi, ebx
mov eax, dword [edx + 0x32c4]
mov word [ebp + 0x41e0], ax
rep movsd dword es:[edi], dword [esi]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push str.ExchangeSubQuest
mov ecx, ebp
mov dword [ebx + 0x10], eax
call fcn.00410410
jmp case.0x41f232.37
mov eax, dword [esp + 0x68]
push 0
push 0
push eax
push 0x2ba
push 7
mov ecx, ebp
call fcn.0041b5d0
mov cx, word [ebx + 4]
push ecx
mov ecx, ebp
call fcn.0042ae90
jmp case.0x41f232.37
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0xc]
cmp ecx, eax
ja 0x420e60
mov edx, eax
sub edx, ecx
mov ecx, dword [ebx + 8]
cmp edx, ecx
jb case.0x41f232.37
mov dword [ebx + 0xc], eax
mov eax, dword [ebp + 0x4504]
lea ecx, [eax + 0x32e8]
mov eax, dword [eax + 0x3664]
push eax
lea eax, [esp + 0x44]
push eax
push 0x64
call fcn.00484eb0
cmp eax, 1
jne case.0x41f232.37
mov cx, word [ebx + 4]
mov dx, word [ebx + 6]
push eax
mov word [esp + 0x30], cx
lea eax, [esp + 0x30]
lea ecx, [esp + 0x44]
push eax
push ecx
mov ecx, dword [ebp + 0x4504]
mov word [esp + 0x3a], dx
mov byte [esp + 0x3c], 0
call fcn.00462380
jmp case.0x41f232.37
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0xc]
cmp ecx, eax
ja 0x420ed9
mov edx, eax
sub edx, ecx
mov ecx, dword [ebx + 8]
cmp edx, ecx
jb case.0x41f232.37
mov dword [ebx + 0xc], eax
mov eax, dword [ebp + 0x4504]
lea ecx, [eax + 0x32e8]
mov eax, dword [eax + 0x3664]
push eax
lea eax, [esp + 0x44]
push eax
push 4
call fcn.00484eb0
cmp eax, 1
jne case.0x41f232.37
mov cx, word [ebx + 4]
mov dx, word [ebx + 6]
push eax
mov word [esp + 0x30], cx
lea eax, [esp + 0x30]
lea ecx, [esp + 0x44]
push eax
push ecx
mov ecx, dword [ebp + 0x4504]
mov word [esp + 0x3a], dx
mov byte [esp + 0x3c], 0
call fcn.00462380
jmp case.0x41f232.37
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0xc]
cmp ecx, eax
ja 0x420f52
mov edx, eax
sub edx, ecx
mov ecx, dword [ebx + 8]
cmp edx, ecx
jb case.0x41f232.37
mov dword [ebx + 0xc], eax
call dword [sym.imp.MSVCRT.dll_rand]
and eax, 0x80000001
jns 0x420f67
dec eax
or eax, 0xfffffffe
inc eax
mov eax, dword [ebp + 0x4504]
lea ecx, [eax + 0x32e8]
mov eax, dword [eax + 0x3664]
push eax
jne 0x420fc3
lea eax, [esp + 0x44]
push eax
push 1
call fcn.00484eb0
cmp eax, 1
jne case.0x41f232.37
mov cx, word [ebx + 4]
mov dx, word [ebx + 6]
push eax
mov word [esp + 0x30], cx
lea eax, [esp + 0x30]
lea ecx, [esp + 0x44]
push eax
push ecx
mov ecx, dword [ebp + 0x4504]
mov word [esp + 0x3a], dx
mov byte [esp + 0x3c], 0
call fcn.00462380
jmp case.0x41f232.37
lea edx, [esp + 0x44]
push edx
push 2
call fcn.00484eb0
cmp eax, 1
jne case.0x41f232.37
mov ax, word [ebx + 4]
mov cx, word [ebx + 6]
mov word [esp + 0x2c], ax
lea edx, [esp + 0x2c]
push 1
lea eax, [esp + 0x44]
mov word [esp + 0x32], cx
mov ecx, dword [ebp + 0x4504]
push edx
push eax
mov byte [esp + 0x3c], 0
call fcn.00462380
jmp case.0x41f232.37
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0xc]
cmp ecx, eax
ja 0x421027
mov edx, eax
sub edx, ecx
mov ecx, dword [ebx + 8]
cmp edx, ecx
jb case.0x41f232.37
mov dword [ebx + 0xc], eax
mov eax, dword [ebp + 0x4504]
lea ecx, [eax + 0x32e8]
mov eax, dword [eax + 0x3664]
push eax
lea eax, [esp + 0x44]
push eax
push 0xffffffffffffffff
call fcn.00484eb0
cmp eax, 1
jne case.0x41f232.37
mov cx, word [ebx + 4]
mov dx, word [ebx + 6]
push eax
mov word [esp + 0x30], cx
lea eax, [esp + 0x30]
lea ecx, [esp + 0x44]
push eax
push ecx
mov ecx, dword [ebp + 0x4504]
mov word [esp + 0x3a], dx
mov byte [esp + 0x3c], 0
call fcn.00462380
jmp case.0x41f232.37
mov al, byte [ebp + 0x3804]
mov cx, word [ebp + 0x3802]
lea edx, [esp + 0x68]
push edx
mov dx, word [ebp + 0x3800]
push eax
push ecx
mov ecx, dword [ebp + 0x4504]
push edx
push 0x1b
call fcn.00447370
test eax, eax
je case.0x41f232.37
xor eax, eax
mov ecx, ebp
mov ax, word [ebx + 4]
mov dword [ebp + 0x4550], eax
call fcn.004383d0
cmp eax, 1
jne 0x4211cf
mov ecx, dword [ebp + 0x44ec]
xor esi, esi
mov eax, dword [ecx + 8]
test eax, eax
mov dword [esp + 0x14], eax
jbe case.0x41f232.37
mov edi, dword [sym.imp.Staff2.dll_class_CString___cdecl_STAFFGetFirstWord_class_CString___char_const___char___int_]
mov bl, 2
push 0
push esi
mov ecx, ebp
call fcn.00410560
test eax, eax
je 0x4211bd
mov edx, dword [ebp + 0x21b4]
lea ecx, [esp + 0x10]
mov eax, dword [edx + esi*4]
push eax
push esi
push ecx
mov ecx, dword [ebp + 0x44ec]
call fcn.00405d40
push 1
push 0
lea edx, [esp + 0x18]
push 0x49b09c
lea eax, [esp + 0x6c]
push edx
push eax
mov byte [esp + 0x6c], 1
call edi
mov ecx, dword [esp + 0x74]
push str.GoGoQuest
push ecx
mov byte [esp + 0x74], bl
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 0x1c
test eax, eax
jne 0x4211a1
mov edx, dword [ebp + 0x21b4]
lea ecx, [esp + 0x64]
mov eax, dword [edx + esi*4]
push eax
push esi
push ecx
mov ecx, dword [ebp + 0x44ec]
call fcn.00405da0
push ecx
lea edx, [esp + 0x68]
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
mov byte [esp + 0x60], 3
call sub.MFC42.DLL_CString::CString_1
push esi
mov ecx, ebp
call fcn.004260b0
push eax
push esi
mov ecx, ebp
call fcn.00425000
lea ecx, [esp + 0x64]
mov byte [esp + 0x58], bl
call fcn.00489b20
lea ecx, [esp + 0x60]
mov byte [esp + 0x58], 1
call fcn.00489b20
lea ecx, [esp + 0x10]
mov byte [esp + 0x58], 0
call fcn.00489b20
mov eax, dword [esp + 0x14]
inc esi
cmp esi, eax
jb 0x4210f0
jmp case.0x41f232.37
mov eax, dword [esp + 0x68]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x420e33
cmp dword [ebp + 0x449c], 1
je 0x420e33
mov ecx, ebp
call fcn.0040b670
test eax, eax
jne 0x420e33
mov ecx, ebp
call fcn.0040b6b0
test eax, eax
jne 0x420e33
mov eax, dword [ebp + 0x4158]
test eax, eax
jne 0x420e33
mov eax, dword [ebp + 0x4214]
test eax, eax
jne 0x420e33
mov ecx, dword [ebp + 0x4504]
call fcn.004445a0
mov esi, dword [eax + 0x18]
mov ax, word [ebx + 4]
test ax, ax
jbe 0x4212bb
cmp ax, 0x18
ja 0x4212bb
mov ecx, dword [ebp + 0x42c8]
test ecx, ecx
jle 0x4212bb
test esi, esi
je 0x4212bb
and eax, 0xffff
mov ecx, esi
push eax
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::IsEmptyArmyShop_int_]
cmp eax, 1
jne 0x4212bb
mov ecx, dword [ebp + 0x42c8]
lea edx, [ebp + 0x37d8]
push ecx
push edx
mov ecx, esi
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::IsArmyCommander_char___int_]
cmp eax, 1
jne 0x4212bb
mov eax, dword [ebp + 0x42c8]
mov ecx, esi
push eax
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::GetArmyShopCount_int_]
test eax, eax
jne 0x4212bb
mov ecx, dword [ebp + 0x42c8]
push ecx
mov ecx, esi
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::GetArmyAgitCount_int_]
test eax, eax
jle 0x4212bb
mov edx, dword [ebp + 0x42c8]
mov ecx, esi
push edx
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::IsArmyBaseOwner_int_]
test eax, eax
je 0x4215bb
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
cmp eax, dword [ebx + 0x10]
jb 0x4212d8
call esi
sub eax, dword [ebx + 0x10]
cmp eax, 0x493e0
jb 0x42162a
call dword [sym.imp.MSVCRT.dll_rand]
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x63
jne 0x42162a
mov eax, dword [ebp + 0x41c4]
test eax, eax
jne 0x42162a
mov eax, dword [ebp + 0x451c]
test eax, eax
jne 0x42162a
push 0
push 0
mov ecx, ebp
call fcn.004281c0
cmp eax, 1
jne 0x42162a
mov edi, dword [esp + 0x68]
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp + 0x41cc]
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
rep movsb byte es:[edi], byte [esi]
mov cx, word [esp + 0x64]
lea edi, [ebp + 0x4520]
mov word [ebp + 0x41de], cx
mov edx, dword [ebp + 0x4504]
mov ecx, 5
mov esi, ebx
mov eax, dword [edx + 0x32c4]
mov word [ebp + 0x41e0], ax
rep movsd dword es:[edi], dword [esi]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push str.GogoSubQuest
mov ecx, ebp
mov dword [ebx + 0x10], eax
call fcn.00410410
jmp case.0x41f232.37
mov al, byte [ebp + 0x3804]
mov cx, word [ebp + 0x3802]
lea edx, [esp + 0x68]
push edx
mov dx, word [ebp + 0x3800]
push eax
push ecx
mov ecx, dword [ebp + 0x4504]
push edx
push 0x1c
call fcn.00447370
test eax, eax
je case.0x41f232.37
xor eax, eax
mov ecx, ebp
mov ax, word [ebx + 4]
mov dword [ebp + 0x4550], eax
call fcn.00438450
cmp eax, 1
jne 0x4214d1
mov ecx, dword [ebp + 0x44ec]
xor esi, esi
mov edi, dword [ecx + 8]
test edi, edi
jbe case.0x41f232.37
mov ebx, dword [sym.imp.Staff2.dll_class_CString___cdecl_STAFFGetFirstWord_class_CString___char_const___char___int_]
push 0
push esi
mov ecx, ebp
call fcn.00410560
test eax, eax
je 0x4214c3
mov edx, dword [ebp + 0x21b4]
lea ecx, [esp + 0x10]
mov eax, dword [edx + esi*4]
push eax
push esi
push ecx
mov ecx, dword [ebp + 0x44ec]
call fcn.00405d40
push 1
push 0
lea edx, [esp + 0x18]
push 0x49b09c
lea eax, [esp + 0x6c]
push edx
push eax
mov byte [esp + 0x6c], 4
call ebx
mov ecx, dword [esp + 0x74]
push str.SaharaMiniMapQuest
push ecx
mov byte [esp + 0x74], 5
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 0x1c
test eax, eax
jne 0x4214a7
mov edx, dword [ebp + 0x21b4]
lea ecx, [esp + 0x64]
mov eax, dword [edx + esi*4]
push eax
push esi
push ecx
mov ecx, dword [ebp + 0x44ec]
call fcn.00405da0
push ecx
lea edx, [esp + 0x68]
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
mov byte [esp + 0x60], 6
call sub.MFC42.DLL_CString::CString_1
push esi
mov ecx, ebp
call fcn.004260b0
push eax
push esi
mov ecx, ebp
call fcn.00425000
lea ecx, [esp + 0x64]
mov byte [esp + 0x58], 5
call fcn.00489b20
lea ecx, [esp + 0x60]
mov byte [esp + 0x58], 4
call fcn.00489b20
lea ecx, [esp + 0x10]
mov byte [esp + 0x58], 0
call fcn.00489b20
inc esi
cmp esi, edi
jb 0x4213f4
jmp case.0x41f232.37
mov eax, dword [esp + 0x68]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x420e33
cmp dword [ebp + 0x449c], 1
je 0x420e33
mov eax, dword [ebp + 0x4158]
test eax, eax
jne 0x420e33
mov eax, dword [ebp + 0x4214]
test eax, eax
jne 0x420e33
mov ecx, dword [ebp + 0x4504]
call fcn.004445a0
mov esi, dword [eax + 0x18]
mov ax, word [ebx + 4]
test ax, ax
jbe 0x42162a
cmp ax, 0x18
ja 0x42162a
mov ecx, dword [ebp + 0x42c8]
test ecx, ecx
jle 0x42162a
test esi, esi
je 0x42162a
and eax, 0xffff
mov ecx, esi
push eax
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::IsEmptyArmyShop_int_]
cmp eax, 1
jne 0x42162a
mov ecx, dword [ebp + 0x42c8]
lea edx, [ebp + 0x37d8]
push ecx
push edx
mov ecx, esi
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::IsArmyCommander_char___int_]
cmp eax, 1
jne 0x42162a
mov eax, dword [ebp + 0x42c8]
mov ecx, esi
push eax
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::GetArmyShopCount_int_]
test eax, eax
jne 0x42162a
mov ecx, dword [ebp + 0x42c8]
push ecx
mov ecx, esi
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::GetArmyAgitCount_int_]
test eax, eax
jle 0x42162a
mov edx, dword [ebp + 0x42c8]
mov ecx, esi
push edx
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CArmy::IsArmyBaseOwner_int_]
test eax, eax
jne 0x42162a
mov edi, dword [esp + 0x68]
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp + 0x41cc]
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
rep movsb byte es:[edi], byte [esi]
mov cx, word [esp + 0x64]
lea edi, [ebp + 0x4520]
mov word [ebp + 0x41de], cx
mov edx, dword [ebp + 0x4504]
mov ecx, 5
mov esi, ebx
mov eax, dword [edx + 0x32c4]
mov word [ebp + 0x41e0], ax
rep movsd dword es:[edi], dword [esi]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push str.ArmyShopQuest
mov ecx, ebp
mov dword [ebx + 0x10], eax
call fcn.00410410
jmp case.0x41f232.37
mov ax, word [ebx + 4]
mov ecx, ebp
push eax
call fcn.0042ae90
jmp case.0x41f232.37
mov al, byte [ebp + 0x3804]
mov cx, word [ebp + 0x3802]
lea edx, [esp + 0x68]
push edx
mov dx, word [ebp + 0x3800]
push eax
push ecx
mov ecx, dword [ebp + 0x4504]
push edx
push 0x1d
call fcn.00447370
test eax, eax
je case.0x41f232.37
mov eax, dword [ebp + 0x42c8]
test eax, eax
jle 0x4216b3
mov ecx, dword [ebp + 0x4504]
push eax
call fcn.00464580
cmp eax, 1
jne 0x4216b3
mov ecx, ebp
call fcn.0041a6a0
cmp eax, 1
jne case.0x41f232.37
push 0
push 0
push 0x49b4ac
push 0x29f
push 7
mov ecx, ebp
call fcn.0041b5d0
jmp case.0x41f232.37
mov ecx, ebp
call fcn.004384b0
cmp eax, 1
jne 0x4217b9
mov eax, dword [ebp + 0x44ec]
xor esi, esi
mov edi, dword [eax + 8]
test edi, edi
jbe case.0x41f232.37
mov ebx, dword [sym.imp.Staff2.dll_class_CString___cdecl_STAFFGetFirstWord_class_CString___char_const___char___int_]
push 0
push esi
mov ecx, ebp
call fcn.00410560
test eax, eax
je 0x4217ab
mov ecx, dword [ebp + 0x21b4]
lea eax, [esp + 0x10]
mov edx, dword [ecx + esi*4]
mov ecx, dword [ebp + 0x44ec]
push edx
push esi
push eax
call fcn.00405d40
push 1
push 0
lea ecx, [esp + 0x18]
push 0x49b09c
lea edx, [esp + 0x6c]
push ecx
push edx
mov byte [esp + 0x6c], 7
call ebx
mov eax, dword [esp + 0x74]
push str.KasamQuest1
push eax
mov byte [esp + 0x74], 8
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 0x1c
test eax, eax
jne 0x42178f
mov ecx, dword [ebp + 0x21b4]
lea eax, [esp + 0x64]
mov edx, dword [ecx + esi*4]
mov ecx, dword [ebp + 0x44ec]
push edx
push esi
push eax
call fcn.00405da0
push ecx
lea edx, [esp + 0x68]
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
mov byte [esp + 0x60], 9
call sub.MFC42.DLL_CString::CString_1
push esi
mov ecx, ebp
call fcn.004260b0
push eax
push esi
mov ecx, ebp
call fcn.00425000
lea ecx, [esp + 0x64]
mov byte [esp + 0x58], 8
call fcn.00489b20
lea ecx, [esp + 0x60]
mov byte [esp + 0x58], 7
call fcn.00489b20
lea ecx, [esp + 0x10]
mov byte [esp + 0x58], 0
call fcn.00489b20
inc esi
cmp esi, edi
jb 0x4216dc
jmp case.0x41f232.37
mov ecx, ebp
call fcn.00438510
cmp eax, 1
je 0x42180b
mov ecx, ebp
call fcn.00438570
cmp eax, 1
jne 0x4217e2
push str.KasamQuest2
mov ecx, ebp
call fcn.00410410
jmp case.0x41f232.37
mov ecx, ebp
call fcn.004385d0
cmp eax, 1
jne 0x4217ff
push str.KasamQuest3
mov ecx, ebp
call fcn.00410410
jmp case.0x41f232.37
mov ecx, ebp
call fcn.00438620
cmp eax, 1
jne 0x421827
push 0
push 0
push 0x49b4ac
push 0x296
push 7
mov ecx, ebp
call fcn.0041b5d0
jmp case.0x41f232.37
mov ecx, ebp
call fcn.00438670
cmp eax, 1
jne 0x421844
push str.KasamQuest4
mov ecx, ebp
call fcn.00410410
jmp case.0x41f232.37
mov ecx, ebp
call fcn.004386c0
cmp eax, 1
jne 0x421861
push str.KasamRecollectQuest
mov ecx, ebp
call fcn.00410410
jmp case.0x41f232.37
mov ecx, ebp
call fcn.00438700
cmp eax, 1
jne 0x421898
cmp byte [ebp + 0x37fc], 3
jne 0x421887
push str.DestinoKasamSpaceShip
mov ecx, ebp
call fcn.00410410
jmp case.0x41f232.37
push str.KasamSpaceShip
mov ecx, ebp
call fcn.00410410
jmp case.0x41f232.37
cmp word [ebp + 0x3f88], 0
jbe 0x4218b3
push str.Level1000Quest
mov ecx, ebp
call fcn.00410410
jmp case.0x41f232.37
push 0
push 0
push 0x49b4ac
push 0x297
push 7
mov ecx, ebp
call fcn.0041b5d0
jmp case.0x41f232.37
mov ax, word [ebp + 0x4026]
and eax, 0x800
test ax, ax
je case.0x41f232.37
push 1
push 1
push 0x1b
mov ecx, ebp
call fcn.0042cb70
jmp case.0x41f232.37
mov ecx, dword [ebx + 4]
push 1
push ecx
mov ecx, ebp
call fcn.00410560
cmp eax, 1
jne case.0x41f232.37
mov eax, dword [ebx + 4]
cmp eax, 0x45
jb 0x42194e
cmp eax, 0x48
ja 0x42194e
mov edx, dword [ebp + 0x4504]
mov eax, dword [edx + 0x32c4]
cmp eax, 0x5d
je 0x421939
cmp eax, 0x5e
je 0x421939
cmp eax, 0x5f
je 0x421939
cmp eax, 0x60
jne 0x42194e
mov ecx, dword [ebp + 0x4508]
push 0x54
call fcn.00476e20
test eax, eax
jne 0x41f38b
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 0x21b4]
mov dword [ecx + eax*4], 0
mov eax, dword [ebx + 4]
mov edx, dword [ebp + 0x21b4]
mov ecx, dword [edx + eax*4]
lea edx, [esp + 0x10]
push ecx
mov ecx, dword [ebp + 0x44ec]
push eax
push edx
call fcn.00405d40
push 1
push 0
lea eax, [esp + 0x18]
push 0x49b09c
lea ecx, [esp + 0x6c]
push eax
push ecx
mov byte [esp + 0x6c], 0xa
call dword [sym.imp.Staff2.dll_class_CString___cdecl_STAFFGetFirstWord_class_CString___char_const___char___int_]
mov edx, dword [esp + 0x74]
push str.EventTriggered
push edx
mov byte [esp + 0x74], 0xb
call edi
add esp, 0x1c
test eax, eax
jne 0x421a0b
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 0x21b4]
mov edx, dword [ecx + eax*4]
mov ecx, dword [ebp + 0x44ec]
push edx
push eax
lea eax, [esp + 0x6c]
push eax
call fcn.00405da0
push ecx
lea edx, [esp + 0x68]
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
mov byte [esp + 0x60], 0xc
call sub.MFC42.DLL_CString::CString_1
mov eax, dword [ebx + 4]
mov ecx, ebp
push eax
call fcn.004260b0
mov ecx, dword [ebx + 4]
push eax
push ecx
mov ecx, ebp
call fcn.00425000
lea ecx, [esp + 0x64]
mov byte [esp + 0x58], 0xb
call fcn.00489b20
lea ecx, [esp + 0x60]
mov byte [esp + 0x58], 0xa
call fcn.00489b20
lea ecx, [esp + 0x10]
mov byte [esp + 0x58], 0
call fcn.00489b20
jmp case.0x41f232.37
mov eax, dword [ebp + 0x4170]
test ah, 0x20
je 0x421a4c
push 0
push 0
push 0xc8
mov ecx, ebp
call fcn.0043fc10
jmp case.0x41f232.37
test ah, 0x10
je case.0x41f232.37
movsx eax, byte [ebp + 0x37fc]
cmp eax, 8
ja case.default.0x421a65
jmp dword [eax*4 + 0x422060]
push str.PhilarRecollectQuest
mov ecx, ebp
call fcn.00410410
jmp case.0x41f232.37
push str.AzlarRecollectQuest
mov ecx, ebp
call fcn.00410410
jmp case.0x41f232.37
push str.SadadRecollectQuest
mov ecx, ebp
call fcn.00410410
jmp case.0x41f232.37
push str.DestinoRecollectQuest
mov ecx, ebp
call fcn.00410410
jmp case.0x41f232.37
push str.ParkRecollectQuest
mov ecx, ebp
call fcn.00410410
jmp case.0x41f232.37
push str.CanonRecollectQuest
mov ecx, ebp
call fcn.00410410
jmp case.0x41f232.37
push str.HanRecollectQuest
mov ecx, ebp
call fcn.00410410
jmp case.0x41f232.37
push str.LunarenaRecollectQuest
mov ecx, ebp
call fcn.00410410
jmp case.0x41f232.37
push str.LavitaRecollectQuest
mov ecx, ebp
call fcn.00410410
jmp case.0x41f232.37
push str.RecollectQuest
mov ecx, ebp
call fcn.00410410
jmp case.0x41f232.37
mov edx, dword [ebp + 0x4504]
mov eax, dword [edx + 0x32c4]
cmp eax, 0x15
je 0x421b5a
cmp eax, 0x27
je 0x421b5a
mov ecx, ebp
call fcn.0040b6b0
test eax, eax
jne 0x421b5a
mov ecx, ebp
call fcn.0040b670
test eax, eax
jne 0x421b5a
cmp dword [ebp + 0x449c], 1
je 0x421b5a
mov ecx, ebp
call fcn.0040b6f0
test eax, eax
je case.0x41f232.37
mov ecx, dword [ebp + 0x4504]
mov edi, 1
cmp dword [ecx + 0x3694], edi
jne 0x421cba
mov eax, dword [ecx + 0x36a8]
mov edx, dword [ebp + 0x37f8]
cmp edx, eax
jae 0x421b9f
mov ecx, eax
lea eax, [esp + 0x60]
push 2
mov dword [esp + 0x64], ecx
push eax
push 0x15c
mov ecx, ebp
call fcn.0043fc10
jmp case.0x41f232.37
cmp dword [ecx + 0x3664], 3
jne 0x421bc4
mov eax, dword [ebp + 0x4214]
test eax, eax
ja case.0x41f232.37
mov eax, dword [ebp + 0x4158]
test eax, eax
ja case.0x41f232.37
call fcn.00474800
mov esi, eax
cmp esi, 0x18
jl 0x421c81
mov eax, dword [ebp + 0x4168]
test eax, eax
jne 0x421c81
mov ecx, dword [ebp + 0x4504]
mov al, byte [ecx + 0x36d4]
test al, al
jne 0x421c3d
lea ecx, [esp + 0x34]
push ecx
call sub.MFC42.DLL_CTime::GetTickCount
mov edx, dword [eax]
push 0
lea ecx, [esp + 0x68]
mov dword [esp + 0x68], edx
call sub.MFC42.DLL_CTime::GetLocalTm
mov eax, dword [eax]
lea ecx, [esi + esi*2]
mov edx, 0x1860
push 4
lea ecx, [ecx + ecx*4]
shl ecx, 2
sub edx, ecx
mov ecx, ebp
sub edx, eax
lea eax, [esp + 0x64]
push eax
push 0x137
mov dword [esp + 0x6c], edx
call fcn.0043fc10
jmp case.0x41f232.37
call fcn.00474a90
test eax, eax
je case.0x41f232.37
push ecx
mov ecx, esp
mov dword [esp + 0x68], esp
mov dword [ecx], 0x348
lea ecx, [esp + 0x3c]
push ecx
mov ecx, eax
call fcn.00416140
mov eax, dword [eax]
lea edx, [esp + 0x64]
push 4
push edx
push 0x18a
mov ecx, ebp
mov dword [esp + 0x70], eax
call fcn.0043fc10
jmp case.0x41f232.37
mov eax, dword [ebp + 0x4504]
mov ecx, dword [eax + 0x3664]
test ecx, ecx
je 0x421ca9
mov edx, dword [ebp]
push edi
push 0
push 0
mov dword [ebp + 0x4544], edi
push 0xf5
jmp 0x421f46
push str.SelectFreeBattleZone
mov ecx, ebp
call fcn.00410410
jmp case.0x41f232.37
cmp dword [ecx + 0x3698], edi
jne case.0x41f232.37
mov eax, dword [ecx + 0x369c]
test eax, eax
jne 0x421ce5
push 0
push 0
push 0x189
mov ecx, ebp
call fcn.0043fc10
jmp case.0x41f232.37
mov eax, dword [ecx + 0x36a8]
mov edx, dword [ebp + 0x37f8]
cmp edx, eax
jae 0x421d13
mov ecx, eax
lea eax, [esp + 0x60]
push 2
mov dword [esp + 0x64], ecx
push eax
push 0x15c
mov ecx, ebp
call fcn.0043fc10
jmp case.0x41f232.37
call fcn.004748d0
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, eax
call esi
sub eax, dword [ebp + 0x4464]
cmp eax, 0x2710
jbe 0x421dd3
cmp ebx, 0x7c
jge 0x421dd3
call esi
mov ecx, dword [ebp + 0x4504]
mov dword [ebp + 0x4464], eax
mov esi, dword [ecx + 0x3688]
mov ecx, ebp
call fcn.0040b6f0
mov eax, dword [eax + 0x24]
lea edx, [ebp + 0x37e9]
push esi
lea ecx, [ebp + 0x37d8]
push edx
push ecx
mov ecx, eax
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CBillBattleDB::FindUserBattleMatchEntry_char_const___char_const___int_]
cmp eax, edi
jne 0x421d9f
push 0
push 0
lea edx, [esp + 0x34]
push 0xb4
mov byte [ebp + 0x4549], 0
mov word [esp + 0x38], 0x2d
mov word [esp + 0x3a], 0x4b
mov byte [esp + 0x3c], 1
push edx
jmp 0x421dcc
cmp eax, 2
jne 0x421dd3
push 0
push 0
lea eax, [esp + 0x34]
push 0xb5
mov byte [ebp + 0x4549], 0
mov word [esp + 0x38], 0x2d
mov word [esp + 0x3a], 0x4b
mov byte [esp + 0x3c], 1
push eax
mov ecx, ebp
call fcn.0043ed40
cmp ebx, 0xe
jl 0x421ddd
cmp ebx, 0x1d
jl 0x421de7
mov eax, dword [ebp + 0x4168]
test eax, eax
je 0x421e27
cmp ebx, 0x7c
jge 0x421df1
cmp ebx, 4
jge 0x421dfb
mov eax, dword [ebp + 0x4168]
test eax, eax
jne 0x421e27
mov dword [ebp + 0x4544], edi
call dword [sym.imp.MSVCRT.dll_rand]
cdq
mov ecx, 9
push edi
idiv ecx
mov ecx, ebp
inc dl
mov byte [esp + 0x68], dl
lea edx, [esp + 0x68]
push edx
call fcn.0040e4b0
jmp case.0x41f232.37
mov ecx, dword [ebp + 0x4504]
call fcn.00474a90
mov esi, eax
test esi, esi
je case.0x41f232.37
cmp ebx, 0x7c
jge 0x421e51
cmp ebx, 0x1d
jl 0x421e51
push 0
push 0
push 0x18c
jmp 0x421e5a
push 0
push 0
push 0x18e
mov ecx, ebp
call fcn.0043fc10
push ecx
mov ecx, esi
mov eax, esp
mov dword [esp + 0x64], esp
mov dword [eax], 0x348
lea eax, [esp + 0x40]
push eax
call fcn.00416140
mov eax, dword [eax]
lea ecx, [esp + 0x64]
push 4
push ecx
push 0x18a
mov ecx, ebp
mov dword [esp + 0x70], eax
call fcn.0043fc10
jmp case.0x41f232.37
mov ecx, ebp
call fcn.0040b700
mov ecx, dword [eax + 0x18]
test ecx, ecx
je case.0x41f232.37
mov eax, dword [ebp + 0x42c8]
test eax, eax
jg 0x421ec6
push 0
push 0
push 0x32
mov ecx, ebp
call fcn.0043fc10
jmp case.0x41f232.37
mov ecx, dword [ebp + 0x4504]
call fcn.00464aa0
cmp eax, dword [ebp + 0x42c8]
jne case.0x41f232.37
push 0
push 0
mov ecx, ebp
call fcn.00417620
jmp case.0x41f232.37
cmp eax, 0x173
jne case.0x41f232.37
mov ecx, ebp
call fcn.0040b700
mov ecx, dword [eax + 0x18]
test ecx, ecx
je case.0x41f232.37
mov eax, dword [ebp + 0x42c8]
test eax, eax
jle 0x421f18
mov ecx, dword [ebp + 0x4504]
call fcn.00464aa0
cmp eax, dword [ebp + 0x42c8]
je 0x421f38
mov eax, dword [ebp + 0x4168]
and eax, 0x800
mov dword [esp + 0x64], eax
jne 0x421f38
push 0
push 0
push 0x32
mov ecx, ebp
call fcn.0043fc10
jmp case.0x41f232.37
mov edx, dword [ebp]
push 1
push 0
push 0
push 0x7a7
mov ecx, ebp
call dword [edx + 0xc]
mov dword [esp + 0x58], 0xffffffff
lea ecx, [esp + 0x68]
call fcn.00489b20
mov ecx, dword [esp + 0x50]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x4c
ret 0xc