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

Disassembly:
sub esp, 0x110
mov eax, dword [0x4bdcf8]
xor eax, esp
mov dword [esp + 0x10c], eax
cmp dword [0x60415c], 0
push ebx
push ebp
mov ebp, dword [esp + 0x11c]
push esi
push edi
mov dword [esp + 0x14], ebp
mov ebx, ecx
je 0x421950
mov ecx, dword [0x4c02d8]
push 0
call fcn.004670a0
mov ecx, dword [0x4c02d8]
call fcn.00467360
mov eax, dword [0x6043b8]
mov ecx, dword [0x4c02d8]
push eax
push ecx
call fcn.004733b0
mov esi, eax
mov eax, dword [0x604160]
add esp, 8
sub eax, 4
je 0x421923
sub eax, 1
push 0x1e1e1e
je 0x4218db
sub eax, 1
je 0x4218ca
push 0xc8c8c8
call fcn.00470e70
mov edi, 0x4b29e0
call fcn.00402ac0
push eax
push 0x64
push 0x64
push esi
call fcn.004728d0
push 0x1e1e1e
push 0x96c896
call fcn.00470e70
mov edi, 0x4b29f8
call fcn.00402ac0
push eax
push 0x8c
push 0x64
push esi
call fcn.004728d0
push 0x1e1e1e
push 0xc89696
call fcn.00470e70
mov edi, 0x4b2a0c
call fcn.00402ac0
push eax
push 0xa0
push 0x64
push esi
call fcn.004728d0
add esp, 0x48
mov edi, 0x4b2a20
call fcn.00402ac0
push eax
push 0xb4
push 0x64
push esi
call fcn.004728d0
push 0x1e1e1e
push 0xc8c8c8
call fcn.00470e70
mov edi, 0x4b2a34
call fcn.00402ac0
push eax
push 0xdc
push 0x64
push esi
call fcn.004728d0
mov edi, 0x4b2a48
call fcn.00402ac0
push eax
push 0xf0
push 0x64
push esi
call fcn.004728d0
add esp, 0x38
cmp dword [0x604160], 1
je 0x4217a1
push 0x604108
push 0x8c
push 0xdc
push esi
call fcn.00472aa0
add esp, 0x10
cmp dword [0x604160], 2
je 0x4217c2
push 0x604118
push 0xa0
push 0xdc
push esi
call fcn.00472aa0
add esp, 0x10
cmp dword [0x604160], 3
je 0x4217e3
push 0x604128
push 0xb4
push 0xdc
push esi
call fcn.00472aa0
add esp, 0x10
cmp byte [0x604108], 0
je 0x42193b
cmp byte [0x604118], 0
je 0x42193b
cmp byte [0x604128], 0
je 0x42193b
mov ecx, 0x604108
lea eax, [ebp + 0x43d3e]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x421835
test dl, dl
je 0x421831
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x421835
add eax, 2
add ecx, 2
test dl, dl
jne 0x421815
xor eax, eax
jmp 0x42183a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x421853
mov edi, 0x4b2a54
call fcn.00402ac0
push eax
push 0x12c
jmp 0x421930
mov ecx, 0x604128
mov eax, 0x604118
lea ecx, [ecx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x421880
test dl, dl
je 0x42187c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x421880
add eax, 2
add ecx, 2
test dl, dl
jne 0x421860
xor eax, eax
jmp 0x421885
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x42189e
mov edi, 0x4b2a78
call fcn.00402ac0
push eax
push 0x12c
jmp 0x421930
mov eax, 0x604118
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4218a6
sub eax, edx
cmp eax, 4
jae 0x42193b
mov edi, 0x4b2aa4
call fcn.00402ac0
push eax
push 0x12c
jmp 0x421930
push 0x9696c8
call fcn.00470e70
mov edi, 0x4b29c0
jmp 0x4218ea
push 0xc89696
call fcn.00470e70
mov edi, 0x4b2998
call fcn.00402ac0
push eax
push 0x64
push 0x64
push esi
call fcn.004728d0
push 0x1e1e1e
push 0xc8c8c8
call fcn.00470e70
mov edi, 0x4b29b4
call fcn.00402ac0
push eax
push 0x78
push 0x64
push esi
call fcn.004728d0
add esp, 0x30
jmp 0x42193b
mov edi, 0x4b2974
call fcn.00402ac0
push eax
push 0x64
push 0x64
push esi
call fcn.004728d0
add esp, 0x10
mov edx, dword [0x4c02d8]
push esi
push edx
call fcn.00473540
add esp, 8
jmp 0x4222c7
cmp byte [0x603fef], 0
jne 0x421988
push 0
push 1
call fcn.0046fdc0
add esp, 8
test eax, eax
je 0x421970
mov byte [0x604106], 1
mov edi, 0x4b2ac8
call fcn.00402ac0
push eax
call fcn.00438ee0
add esp, 4
jmp 0x4222c7
xor eax, eax
mov edi, 0x9c
call fcn.004208d0
mov eax, 1
mov edi, 0x1e3
call fcn.004208d0
mov eax, dword [0x6043b8]
mov ecx, dword [0x4c02d8]
push eax
push ecx
call fcn.004733b0
mov esi, eax
mov eax, dword [0x604150]
lea edx, [eax + eax*2]
shl edx, 5
add edx, 0x604018
push edx
push 0x1ab
push 0xf5
push esi
call fcn.00472890
mov eax, dword [0x604150]
lea eax, [eax + eax*2]
shl eax, 5
add eax, 0x604048
push eax
push 0x1ab
push 0x23f
push esi
call fcn.00472890
mov eax, dword [ebp + 0x43dbc]
add esp, 0x28
cmp eax, 0xffffffff
jle 0x421adf
test eax, eax
je 0x421a18
lea ebp, [edi - 0xa]
cmp eax, 2
jne 0x421a1d
mov ebp, 0x92
cmp byte [0x6553ed], 0
jne 0x421a38
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x6553f0], eax
mov byte [0x6553ed], 1
push 0x10
push 0
push 0x37
push 0xbe
push 0x159
lea ecx, [ebp - 5]
push ecx
mov ecx, dword [0x4c02d8]
call fcn.00467270
push 0x1e1e1e
push 0xc89696
call fcn.00470e70
mov edi, 0x4b2ae8
call fcn.00402ac0
push eax
push 0x15e
push ebp
push esi
call fcn.004728d0
mov edi, 0x4b2af4
call fcn.00402ac0
push eax
push 0x16e
push ebp
push esi
call fcn.004728d0
mov edi, 0x4b2b10
call fcn.00402ac0
push eax
push 0x17e
push ebp
push esi
call fcn.004728d0
add esp, 0x38
cmp byte [0x6553ed], 0
je 0x421adf
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x6553f0]
cmp eax, 0x1388
jbe 0x421adf
mov edx, dword [esp + 0x14]
mov byte [0x6553ed], 0
mov dword [edx + 0x43dbc], 0xffffffff
mov eax, dword [0x4c02d8]
push esi
push eax
call fcn.00473540
add esp, 8
cmp byte [0x6040e5], 0
je 0x421bc5
mov ecx, dword [0x4c02d8]
call fcn.00467360
mov ecx, dword [0x4c02d8]
push 0x10
push 0
push 0x78
push 0x17c
push 0x104
push 0xb5
call fcn.00467270
mov ecx, dword [0x6043b8]
mov edx, dword [0x4c02d8]
push ecx
push edx
call fcn.004733b0
push 0x1e1e1e
push 0xc89696
mov esi, eax
call fcn.00470e70
push 0x4b2b30
push 0xdc
push 0x78
push esi
call fcn.004728d0
push 0x1e1e1e
push 0xc8c8c8
call fcn.00470e70
mov edi, 0x4b2b44
call fcn.00402ac0
push eax
push 0xf0
push 0x78
push esi
call fcn.004728d0
mov edi, str.http:__www.metin.co.kr
call fcn.00402ac0
push eax
push 0xfc
push 0x78
push esi
call fcn.004728d0
add esp, 0x48
mov edi, 0x4b2b98
call fcn.00402ac0
push eax
push 0x122
push 0x78
push esi
call fcn.004728d0
mov eax, dword [0x4c02d8]
push esi
push eax
call fcn.00473540
add esp, 0x18
cmp dword [0x4bfe40], 0xffffffff
je 0x421d96
mov ecx, dword [0x4c02d8]
call fcn.00467360
mov ecx, dword [0x4c02d8]
push 0x10
push 0
push 0x78
push 0x177
push 0xc8
push 0x64
call fcn.00467270
mov ecx, dword [0x6043b8]
mov edx, dword [0x4c02d8]
push ecx
push edx
call fcn.004733b0
push 0x1e1e1e
push 0xc89696
mov esi, eax
call fcn.00470e70
mov eax, dword [0x4bfe40]
lea eax, [eax + eax*2]
shl eax, 4
add eax, 0x604018
push eax
push 0xdc
push 0x78
push esi
call fcn.004728d0
push 0x1e1e1e
push 0xc8c8c8
call fcn.00470e70
mov eax, dword [0x604014]
add esp, 0x28
cmp eax, 4
ja case.0x421c5c.3
jmp dword [eax*4 + 0x4222e8]
mov edi, 0x4b2bb4
call fcn.00402ac0
push eax
push 0xf0
push 0x78
push esi
call fcn.004728d0
mov edi, 0x4b2bec
call fcn.00402ac0
push eax
push 0xfc
push 0x78
push esi
call fcn.004728d0
mov edi, 0x4b2c1c
call fcn.00402ac0
push eax
push 0x10e
push 0x78
push esi
call fcn.004728d0
add esp, 0x30
jmp case.0x421c5c.3
mov edi, 0x4b2bb4
call fcn.00402ac0
push eax
push 0xf0
push 0x78
push esi
call fcn.004728d0
mov edi, 0x4b2bec
call fcn.00402ac0
push eax
push 0xfc
push 0x78
push esi
call fcn.004728d0
mov edi, 0x4b2c1c
call fcn.00402ac0
push eax
push 0x10e
push 0x78
push esi
call fcn.004728d0
mov edi, 0x4b2c4c
call fcn.00402ac0
push eax
push 0x122
push 0xdc
push esi
call fcn.004728d0
add esp, 0x40
jmp case.0x421c5c.3
mov eax, dword [0x604138]
dec eax
cmp eax, 0x10
ja case.0x421c5c.3
movzx ecx, byte [eax + 0x422308]
jmp dword [ecx*4 + 0x4222fc]
mov edi, 0x4b2c60
call fcn.00402ac0
push eax
push 0xf0
push 0x78
push esi
call fcn.004728d0
add esp, 0x10
jmp case.0x421c5c.3
mov edi, 0x4b2c94
call fcn.00402ac0
push eax
push 0xf0
push 0x78
push esi
call fcn.004728d0
mov edi, 0x4b2cb4
call fcn.00402ac0
push eax
push 0xfc
push 0x78
push esi
call fcn.004728d0
add esp, 0x20
mov edx, dword [0x4c02d8]
push esi
push edx
call fcn.00473540
add esp, 8
jmp 0x421de8
mov edi, ebx
call fcn.0042da30
cmp eax, 1
jne 0x421dbb
mov eax, dword [0x4c8850]
push 0xc
push eax
push 0x184
push 0x13a
mov eax, 0xa2
jmp 0x421dd8
cmp eax, 2
jne 0x421de8
mov ecx, dword [0x4c8850]
push 0xc
push ecx
push 0x184
push 0x281
mov eax, 0x1e9
mov ecx, dword [0x4c8854]
push 0x71
call fcn.00432970
add esp, 0x14
mov edi, ebx
call fcn.0042d9a0
mov edi, eax
cmp edi, 0x1a
jne 0x421e64
cmp byte [0x4c884c], 1
push 0
mov edx, ebx
push 0
jne 0x421e5d
lea eax, [edi + 2]
call fcn.0042d2c0
mov eax, dword [ebx + 0xa9c]
test eax, eax
je 0x421f4f
cmp byte [eax + 0x14], 0
movsx ecx, word [ebx + 0x978]
movsx edx, word [ebx + 0x976]
je 0x421f4f
mov esi, dword [eax + 4]
test esi, esi
je 0x421f32
push esi
movsx esi, word [eax + 0xe]
movsx eax, word [eax + 0xc]
add esi, ecx
mov ecx, dword [0x4c02d8]
push esi
add eax, edx
push eax
call fcn.0046a860
jmp 0x421f4f
mov eax, 0x1b
jmp 0x421e08
mov eax, dword [ebx + 0xa70]
test eax, eax
je 0x421ec2
cmp byte [eax + 0x14], 0
movsx ecx, word [ebx + 0x978]
movsx edx, word [ebx + 0x976]
je 0x421ec2
mov esi, dword [eax + 4]
test esi, esi
je 0x421ea5
push esi
movsx esi, word [eax + 0xe]
movsx eax, word [eax + 0xc]
add esi, ecx
mov ecx, dword [0x4c02d8]
push esi
add eax, edx
push eax
call fcn.0046a860
jmp 0x421ec2
mov esi, dword [eax + 8]
push esi
movsx esi, word [eax + 0xe]
add esi, ecx
movsx ecx, word [eax + 0xc]
add ecx, edx
push esi
push ecx
mov ecx, dword [0x4c02d8]
call fcn.00469a90
cmp edi, 0x25
jne 0x421e0d
cmp byte [0x4c884c], 1
push 0
mov edx, ebx
push 0
jne 0x421f2b
lea eax, [edi + 2]
call fcn.0042d2c0
mov eax, dword [ebx + 0xaa8]
test eax, eax
je 0x421f96
cmp byte [eax + 0x14], 0
movsx ecx, word [ebx + 0x978]
movsx edx, word [ebx + 0x976]
je 0x421f96
mov esi, dword [eax + 4]
test esi, esi
je 0x421f79
push esi
movsx esi, word [eax + 0xe]
movsx eax, word [eax + 0xc]
add esi, ecx
mov ecx, dword [0x4c02d8]
push esi
add eax, edx
push eax
call fcn.0046a860
jmp 0x421f96
mov eax, 0x26
jmp 0x421edd
mov esi, dword [eax + 8]
push esi
movsx esi, word [eax + 0xe]
add esi, ecx
movsx ecx, word [eax + 0xc]
add ecx, edx
push esi
push ecx
mov ecx, dword [0x4c02d8]
call fcn.00469a90
cmp edi, 0x28
jne 0x421ee2
cmp byte [0x4c884c], 1
push 0
mov edx, ebx
push 0
jne 0x421f6d
lea eax, [edi + 2]
call fcn.0042d2c0
jmp 0x421f96
mov eax, 0x29
call fcn.0042d2c0
jmp 0x421f96
mov esi, dword [eax + 8]
push esi
movsx esi, word [eax + 0xe]
add esi, ecx
movsx ecx, word [eax + 0xc]
add ecx, edx
push esi
push ecx
mov ecx, dword [0x4c02d8]
call fcn.00469a90
cmp dword [0x604150], 0
jne 0x421fb4
push 0
push 0
mov eax, 0x20
mov edx, ebx
call fcn.0042d2c0
jmp 0x42203c
cmp edi, 0x1d
jne 0x421fde
cmp byte [0x4c884c], 1
push 0
mov edx, ebx
push 0
jne 0x421fd2
lea eax, [edi + 2]
call fcn.0042d2c0
jmp 0x42203c
mov eax, 0x1e
call fcn.0042d2c0
jmp 0x42203c
mov eax, dword [ebx + 0xa7c]
test eax, eax
je 0x42203c
cmp byte [eax + 0x14], 0
movsx ecx, word [ebx + 0x978]
movsx edx, word [ebx + 0x976]
je 0x42203c
mov esi, dword [eax + 4]
test esi, esi
je 0x42201f
push esi
movsx esi, word [eax + 0xe]
movsx eax, word [eax + 0xc]
add esi, ecx
mov ecx, dword [0x4c02d8]
push esi
add eax, edx
push eax
call fcn.0046a860
jmp 0x42203c
mov esi, dword [eax + 8]
push esi
movsx esi, word [eax + 0xe]
add esi, ecx
movsx ecx, word [eax + 0xc]
add ecx, edx
push esi
push ecx
mov ecx, dword [0x4c02d8]
call fcn.00469a90
cmp dword [0x604150], 1
jne 0x42205a
push 0
push 0
mov eax, 0x24
mov edx, ebx
call fcn.0042d2c0
jmp 0x4220e2
cmp edi, 0x21
jne 0x422084
cmp byte [0x4c884c], 1
push 0
mov edx, ebx
push 0
jne 0x422078
lea eax, [edi + 2]
call fcn.0042d2c0
jmp 0x4220e2
mov eax, 0x22
call fcn.0042d2c0
jmp 0x4220e2
mov eax, dword [ebx + 0xa8c]
test eax, eax
je 0x4220e2
cmp byte [eax + 0x14], 0
movsx ecx, word [ebx + 0x978]
movsx edx, word [ebx + 0x976]
je 0x4220e2
mov esi, dword [eax + 4]
test esi, esi
je 0x4220c5
push esi
movsx esi, word [eax + 0xe]
movsx eax, word [eax + 0xc]
add esi, ecx
mov ecx, dword [0x4c02d8]
push esi
add eax, edx
push eax
call fcn.0046a860
jmp 0x4220e2
mov esi, dword [eax + 8]
push esi
movsx esi, word [eax + 0xe]
add esi, ecx
movsx ecx, word [eax + 0xc]
add ecx, edx
push esi
push ecx
mov ecx, dword [0x4c02d8]
call fcn.00469a90
lea edx, [esp + 0x18]
push edx
push 0x4b1b20
push 0x4ca872
call fcn.00477aa7
mov eax, dword [0x6043b8]
mov ecx, dword [0x4c02d8]
add esp, 0xc
push eax
push ecx
call fcn.004733b0
push 4
lea edx, [esp + 0x24]
push str._now
push edx
mov esi, eax
call fcn.0047797d
add esp, 0x14
test eax, eax
je 0x422288
push 5
lea eax, [esp + 0x1c]
push str._joyq
push eax
call fcn.0047797d
add esp, 0xc
test eax, eax
je 0x422288
push 7
lea ecx, [esp + 0x1c]
push str._pcbang
push ecx
call fcn.0047797d
add esp, 0xc
test eax, eax
je 0x422288
push 4
lea edx, [esp + 0x1c]
push str._kwg
push edx
call fcn.0047797d
add esp, 0xc
test eax, eax
je 0x422288
mov ebx, dword [esp + 0x14]
movzx eax, byte [ebx + 0x43cd0]
dec eax
cmp eax, 3
ja case.default.0x422192
jmp dword [eax*4 + 0x42231c]
mov eax, dword [ebx + 0x43cd4]
test eax, eax
jge 0x4221aa
mov edi, 0x4b176c
jmp 0x42220f
cmp eax, 0xf
jge case.default.0x422192
mov edi, 0x4b2d00
push eax
call fcn.00402ac0
push eax
push 5
push 5
call fcn.00441740
add esp, 0x10
jmp case.default.0x422192
mov eax, dword [ebx + 0x43cd4]
test eax, eax
jge 0x4221e1
mov edi, 0x4b178c
jmp 0x42220f
mov edi, 0x4b2d1c
jmp 0x4221b8
mov ecx, dword [ebx + 0x43cd4]
test ecx, ecx
jge 0x4221f9
mov edi, 0x4b17ac
jmp 0x42220f
mov edi, 0x4b2d3c
jmp 0x42223e
mov ecx, dword [ebx + 0x43cd4]
test ecx, ecx
jge 0x422239
mov edi, 0x4b2d3c
call fcn.00402ac0
push eax
push 5
push 5
push esi
call fcn.004728d0
add esp, 0x10
call fcn.00476f95
cdq
mov ecx, 0x2710
idiv ecx
neg edx
mov dword [ebx + 0x43cd4], edx
jmp case.default.0x422192
mov edi, 0x4b2d64
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
push ecx
add eax, edx
push eax
call fcn.00402ac0
push eax
push 5
push 5
call fcn.00441740
add esp, 0x14
cmp dword [ebx + 0x43cd4], 0
jge 0x42228c
mov edi, 0x4b2d8c
call fcn.00402ac0
push eax
push 0x19
push 5
push esi
call fcn.004728d0
add esp, 0x10
jmp 0x42228c
mov ebx, dword [esp + 0x14]
mov ecx, dword [0x4c02d8]
push esi
push ecx
call fcn.00473540
movzx edx, byte [0x6040f6]
lea eax, [ebx + edx*4 + 0x4814c]
add esp, 8
cmp dword [eax], 0
je 0x4222c7
mov eax, dword [eax]
mov ecx, dword [0x4c02d8]
push eax
push 0x20c
push 0x2c1
call fcn.0046a630
mov ecx, dword [esp + 0x11c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
mov eax, 1
call fcn.004768b9
add esp, 0x110
ret 4