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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
mov eax, dword [0x57a040]
xor eax, esp
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, ecx
cmp eax, 6
ja case.default.0x4423b5
jmp dword [eax*4 + 0x442694]
push dword [edi + 0x417bc]
push str.__Crywolf___State___d_____NONE
push 3
call fcn.005262e0
add esp, 0xc
mov dword [edi + 0x417bc], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, edi
mov dword [edi + 0x42ed0], eax
call fcn.00443eb0
jmp case.default.0x4423b5
lea eax, [esp + 0xc]
mov dword [esp + 0xc], 0x170
push eax
lea eax, [esp + 0x18]
mov ecx, 0xa9b83c
push eax
call fcn.00405650
mov eax, dword [esp + 0x1c]
mov ecx, dword [0xa9b83c]
cmp byte [eax + 0xd], 0
jne 0x442428
cmp dword [eax + 0x10], 0x170
jle 0x44242a
mov eax, ecx
cmp eax, ecx
jne 0x44244d
push 0x170
push str.Could_not_find_message__d_
push 0xa9b7bc
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov eax, 0xa9b7bc
jmp 0x442450
add eax, 0x18
push eax
push 0x5d91ac
call fcn.00445630
push dword [edi + 0x417bc]
push str.__Crywolf___State___d_____NOTIFY1
push 3
call fcn.005262e0
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
add esp, 0x14
mov dword [edi + 0x417bc], 1
call esi
mov dword [edi + 0x42f04], eax
call esi
mov dword [edi + 0x43014], eax
jmp case.default.0x4423b5
lea eax, [esp + 0xc]
mov dword [esp + 0xc], 0x171
push eax
lea eax, [esp + 0x18]
mov ecx, 0xa9b83c
push eax
call fcn.00405650
mov eax, dword [esp + 0x1c]
mov ecx, dword [0xa9b83c]
cmp byte [eax + 0xd], 0
jne 0x4424ca
cmp dword [eax + 0x10], 0x171
jle 0x4424cc
mov eax, ecx
cmp eax, ecx
jne 0x4424ef
push 0x171
push str.Could_not_find_message__d_
push 0xa9b7bc
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov eax, 0xa9b7bc
jmp 0x4424f2
add eax, 0x18
push eax
push 0x5d91ac
call fcn.00445630
push dword [edi + 0x417bc]
push str.__Crywolf___State___d_____NOTIFY2
push 3
call fcn.005262e0
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
add esp, 0x14
mov dword [edi + 0x417bc], 2
call ebx
mov dword [edi + 0x42f38], eax
xor esi, esi
mov dword [edi + 0x417c0], 2
cmp dword [edi + 0x417c4], esi
jle 0x442584
lea ebx, [edi + 0x417c8]
mov eax, dword [ebx]
test eax, eax
js 0x442572
cmp eax, 0x1194
jge 0x442572
mov eax, dword [eax*4 + 0x20a514c]
cmp dword [eax + 4], 3
jne 0x442572
push 0
push 0
push 0
push 0
push 0
push 0x1b
push 0
push eax
call fcn.00477200
inc esi
add ebx, 4
cmp esi, dword [edi + 0x417c4]
jl 0x442544
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [edi + 0x417b4], 0x22
je 0x44259d
push 2
push str.__Crywolf___Fail___Chang_Map_Attribute__State:_d_
push 1
call fcn.005262e0
jmp 0x4425bc
mov eax, dword [edi + 0x2ba9c]
imul eax, dword [edi + 0x2ba98]
push eax
push dword [edi + 0x2ba94]
push dword [0x10154f0]
call fcn.0052b7a0
add esp, 0xc
mov ecx, edi
call fcn.004430a0
call ebx
mov dword [edi + 0x43014], eax
jmp case.default.0x4423b5
call fcn.004426b0
jmp case.default.0x4423b5
call fcn.00442960
jmp case.default.0x4423b5
call fcn.00442b10
jmp case.default.0x4423b5
call fcn.00442e40
movzx eax, byte [edi + 0x417c0]
mov byte [esp + 0x10], al
movzx eax, byte [edi + 0x417bc]
mov byte [esp + 0x11], al
lea eax, [esp + 0xc]
push 6
push eax
mov dword [esp + 0x14], 0xbd06c1
call fcn.004456b0
movzx eax, byte [esp + 0x11]
push eax
movzx eax, byte [esp + 0x14]
push eax
push str.__Crywolf___SetState___StateInfo_:_Occupation__d__State__d
push 0
call fcn.005262e0
add esp, 0x10
cmp dword [edi + 8], 0
je 0x44267f
mov eax, dword [0xa0cdb0]
mov ecx, dword [edi + 0x417c0]
mov edx, dword [edi + 0x417bc]
test eax, eax
jne 0x442651
mov eax, 0xffff
jmp 0x442655
movzx eax, byte [eax + 8]
mov word [esp + 0x18], ax
lea eax, [esp + 0x14]
push 0x10
mov dword [esp + 0x24], ecx
mov ecx, 0x7509e0
push eax
mov word [esp + 0x1c], 0x10c1
mov byte [esp + 0x1e], 0x49
mov dword [esp + 0x24], edx
call fcn.00440610
mov ecx, dword [esp + 0x24]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00529f01
mov esp, ebp
pop ebp
ret 4