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

Disassembly:
jmp 0x422d90
sub esp, 0x224
mov eax, dword [0x546a6c]
push ebx
push ebp
xor ebp, ebp
mov ebx, ecx
cmp eax, ebp
mov dword [esp + 0xc], ebx
jne 0x422dbd
mov eax, dword [0x546efc]
push eax
call fcn.004027f7
pop ebp
pop ebx
add esp, 0x224
ret
mov ecx, 0x5469b0
call fcn.004031b6
cmp dword [ebx + 0x4e0], ebp
jne 0x42345f
mov ecx, 0x54c1a0
call fcn.00403927
mov ecx, 0x54c1a0
call fcn.004029eb
mov eax, dword [ebx + 0x490]
mov ecx, ebx
cmp eax, ebp
jne 0x422dfa
call fcn.00401082
jmp 0x422dff
call fcn.0040295a
push esi
push edi
mov ecx, ebx
call fcn.004022d4
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x34]
lea edx, [esp + 0x34]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov edi, str.BattleViews_
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x34]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.BattleView.gfx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [ebx + 0x48c]
and ecx, 3
mov eax, 0x2f
rep movsb byte es:[edi], byte [esi]
sub eax, edx
lea ecx, [esp + 0x34]
push eax
push ecx
call fcn.004038b4
add esp, 4
push eax
call fcn.005072d0
mov eax, dword [0x546f30]
mov ecx, 0x770
mov esi, 0x542f08
mov edi, 0x540c60
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov ecx, 0x770
mov esi, 0x542f08
mov edi, 0x53eea0
cmp eax, ebp
rep movsd dword es:[edi], dword [esi]
je 0x422f94
cmp dword [0x550f5c], ebp
jne 0x422f94
mov eax, dword [0x546ed4]
mov ecx, 0x3f
mov dword [esp + 0x30], eax
xor eax, eax
lea edi, [esp + 0x134]
mov edx, dword [0x546ed0]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov edi, str.BattleViews_
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x2c], edx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x134]
mov eax, ecx
mov esi, edi
mov edi, edx
mov dword [esp + 0x24], ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [ebx + 0x48c]
and ecx, 3
mov dword [esp + 0x28], ebp
rep movsb byte es:[edi], byte [esi]
lea ecx, [eax + eax*2]
xor eax, eax
lea edx, [esp + 0x134]
push ebp
mov edi, dword [ecx*4 + 0x5313e8]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [sym.imp.USER32.dll_ShowCursor]
call esi
lea eax, [esp + 0x24]
push ebp
lea ecx, [esp + 0x138]
push eax
push ecx
call fcn.004038b4
mov edx, dword [0x546a44]
mov ecx, dword [0x549c04]
add esp, 4
push eax
push edx
call fcn.0040270c
push 1
call esi
mov dword [esp + 0x1c], ebp
call fcn.0050f2e2
cdq
mov ecx, 0x64
lea esi, [ebx + 0x4d8]
idiv ecx
mov eax, 1
mov edi, 2
mov dword [0x54cd5c], eax
mov dword [ebx + 0x4e0], eax
mov dword [esp + 0x20], edx
mov ecx, 0x5469b0
call fcn.004031b6
mov dword [esi], eax
add esi, 4
dec edi
jne 0x422fc4
mov eax, dword [ebx + 0x40c]
mov edx, eax
dec eax
test edx, edx
je 0x42301f
lea ecx, [eax*8]
lea esi, [eax + 1]
sub ecx, eax
lea edx, [eax + ecx*4]
lea ecx, [eax + edx*2]
lea edx, [eax + ecx*2]
lea edx, [edx*8 + 0x541004]
mov ecx, edx
mov eax, 0xe
mov dword [ecx], 0xffffffff
dec eax
sub ecx, 0x44
cmp eax, ebp
ja 0x423006
dec esi
sub edx, 0x3b8
cmp esi, ebp
ja 0x422fff
mov eax, dword [0x542eb0]
mov edi, dword [ebx + 0x40c]
cmp eax, ebp
mov eax, dword [0x549544]
je 0x42303d
cmp eax, ebp
je 0x42303c
cmp eax, 3
jne 0x42303d
inc edi
mov ecx, edi
dec edi
test ecx, ecx
je 0x423366
mov ecx, 0x20
jmp 0x423058
mov ebx, dword [esp + 0x14]
mov ecx, 0x20
cmp dword [0x5537f0], 1
jne 0x42307f
test edi, edi
jne 0x42307f
test eax, eax
je 0x423357
cmp eax, 3
je 0x423357
mov ebx, dword [esp + 0x14]
mov ecx, 0x20
mov eax, dword [0x542eb0]
cmp eax, 1
mov eax, dword [0x546f8c]
jne 0x4230ab
test eax, eax
je 0x42309b
mov dword [ebx + edi*4 + 0x3d0], ecx
jmp 0x4230bb
mov edx, dword [edi*4 + 0x5497e4]
mov dword [ebx + edi*4 + 0x3d0], edx
jmp 0x4230bb
test eax, eax
je 0x4230bb
mov dword [0x546354], ecx
mov dword [0x546358], ecx
mov eax, dword [0x546f00]
test eax, eax
jne 0x4230d7
mov ecx, 0x5469b0
call fcn.004031b6
push eax
call fcn.0050f2d5
add esp, 4
lea eax, [edi*8]
mov ebx, 0xd
sub eax, edi
mov dword [esp + 0x10], 0x5307ec
mov ebp, 0x541004
lea ecx, [edi + eax*4]
lea edx, [edi + ecx*2]
lea ecx, [edi*8]
sub ecx, edi
lea eax, [edi + edx*2]
lea edx, [ecx*8 + 0x544cfc]
lea esi, [eax*8 + 0x541004]
mov dword [esp + 0x18], edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi - 0x20], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [esp + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x18]
mov dword [eax], 1
mov eax, dword [ecx + 0x490]
test eax, eax
jne 0x4231cd
mov ecx, dword [0x546354]
cmp ecx, 0x1f
jge 0x423159
mov eax, dword [0x546358]
cmp eax, 0x1f
jl 0x42317f
mov eax, dword [esp + 0x20]
push 1
cmp eax, 0x32
jge 0x423168
push 0xf
jmp 0x42316a
push 0x10
mov ecx, 0x5538e8
call fcn.004014b0
mov eax, dword [0x546358]
mov ecx, dword [0x546354]
test edi, edi
jne 0x4231a9
lea edx, [ecx*8]
sub edx, ecx
cmp ecx, 0x1e
lea eax, [ebx + edx*2]
mov edx, dword [eax*4 + 0x5300f0]
mov dword [ebp], edx
jle 0x423212
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov dword [ebp], ecx
jmp 0x423212
lea edx, [eax*8]
sub edx, eax
cmp eax, 0x1e
lea ecx, [ebx + edx*2]
mov edx, dword [ecx*4 + 0x5300f0]
mov dword [esi], edx
jle 0x423212
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov dword [esi], ecx
jmp 0x423212
mov eax, dword [0x546f8c]
test eax, eax
je 0x4231e1
mov dword [edi*4 + 0x5497e4], 0x20
mov eax, dword [edi*4 + 0x5497e4]
lea edx, [eax*8]
sub edx, eax
cmp eax, 0x1e
lea ecx, [ebx + edx*2]
mov edx, dword [ecx*4 + 0x5300f0]
mov dword [esi], edx
jle 0x423212
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], 1
mov ecx, dword [eax]
mov dword [esi], ecx
mov eax, dword [esi]
cmp eax, 3
ja case.default.0x42321d
jmp dword [eax*4 + 0x4234cc]
call fcn.0050f2e2
cdq
mov ecx, 0xf
idiv ecx
lea eax, [edx + 2]
test eax, eax
mov dword [esi - 0x14], eax
jg 0x423242
mov dword [esi - 0x14], 1
call fcn.0050f2e2
cdq
mov ecx, 0xa
idiv ecx
add edx, 5
mov dword [esi - 0x10], edx
call fcn.0050f2e2
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x32
jge 0x42327a
mov dword [esi - 0xc], 2
mov dword [esi - 4], 1
jmp case.default.0x42321d
mov dword [esi - 4], 0
mov dword [esi - 0xc], 0xa
jmp case.default.0x42321d
call fcn.0050f2e2
cdq
mov ecx, 0xf
idiv ecx
lea eax, [edx + 2]
test eax, eax
mov dword [esi - 0x14], eax
jg 0x4232ab
mov dword [esi - 0x14], 1
call fcn.0050f2e2
cdq
mov ecx, 0xa
idiv ecx
mov eax, 1
add edx, 5
mov dword [esi - 0x10], edx
mov dword [esi - 0xc], 5
mov dword [esi - 4], eax
mov dword [esi - 0x18], eax
jmp case.default.0x42321d
call fcn.0050f2e2
cdq
mov ecx, 0xf
idiv ecx
lea eax, [edx + 2]
test eax, eax
mov dword [esi - 0x14], eax
jg 0x4232f0
mov dword [esi - 0x14], 1
call fcn.0050f2e2
cdq
mov ecx, 0xa
idiv ecx
add edx, 5
mov dword [esi - 0x10], edx
mov dword [esi - 0xc], 2
mov dword [esi - 4], 0
jmp case.default.0x42321d
or eax, 0xffffffff
mov dword [esi - 0x14], eax
mov dword [esi - 0x10], eax
xor eax, eax
mov dword [esi - 0xc], eax
mov dword [esi - 4], eax
mov ecx, dword [esp + 0x18]
mov eax, 4
sub ecx, eax
mov edx, ebp
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x10]
dec ebx
sub ebp, 0x44
sub esi, 0x44
sub ecx, eax
cmp edx, 0x540c90
mov dword [esp + 0x10], ecx
jne 0x423116
mov eax, dword [0x549544]
mov ecx, edi
dec edi
test ecx, ecx
jne 0x42304f
mov ebx, dword [esp + 0x14]
mov ecx, ebx
call fcn.00401cdf
mov ecx, ebx
call fcn.00401dac
mov eax, dword [0x55380c]
xor ebp, ebp
pop edi
cmp eax, ebp
pop esi
jne 0x42340c
cmp dword [0x5537f0], ebp
jne 0x4233ac
mov ecx, 0x546280
call fcn.004035c6
test eax, eax
mov ecx, 0x54c598
je 0x4233a7
call fcn.00401b2c
jmp 0x4233ac
call fcn.00403a99
cmp dword [0x5537f0], 1
jne 0x42345f
cmp dword [esp + 0x14], ebp
je 0x4233da
mov eax, dword [esp + 0x18]
push 1
cmp eax, 0x32
jge 0x4233ce
push 0xf
jmp 0x4233d0
push 0x10
mov ecx, 0x5538e8
call fcn.004014b0
mov edx, dword [0x5538dc]
mov ecx, dword [0x553c68]
add ecx, 0x28
mov eax, dword [edx + 0x278]
push eax
call fcn.00403080
test eax, eax
mov ecx, 0x54c598
je 0x423405
call fcn.00403a99
jmp 0x42345f
call fcn.00401b2c
jmp 0x42345f
mov ecx, 0x54c598
call fcn.00401b2c
cmp dword [0x5537f0], ebp
jne 0x42342c
mov ecx, 0x546280
call fcn.004038b9
test eax, eax
jmp 0x423432
cmp dword [0x551de0], ebp
jne 0x42345f
push 8
call fcn.0050ef5f
add esp, 4
cmp eax, ebp
je 0x423451
mov dword [eax + 4], 0x40d
mov dword [eax], 0x529128
jmp 0x423453
xor eax, eax
push ebp
push eax
mov ecx, 0x551a28
call fcn.00401dde
mov edx, dword [ebx + 0x48c]
mov eax, dword [edx*4 + 0x531320]
sub eax, ebp
je 0x4234a4
dec eax
je 0x42348d
dec eax
jne 0x4234c0
push 1
push 0x36
mov ecx, 0x5538e8
call fcn.004014b0
pop ebp
pop ebx
add esp, 0x224
ret
push 1
push 0x35
mov ecx, 0x5538e8
call fcn.004014b0
pop ebp
pop ebx
add esp, 0x224
ret
push 1
push 0x33
mov ecx, 0x5538e8
call fcn.004014b0
push 1
push 0x34
mov ecx, 0x5538e8
call fcn.004014b0
pop ebp
pop ebx
add esp, 0x224
ret