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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x444b02
push eax
mov eax, dword [0x4604fc]
mov dword fs:[0], esp
sub esp, 0x760
push ebx
push ebp
push esi
push edi
xor ebp, ebp
push 0x454738
push eax
mov dword [0x4603c8], ebp
mov dword [0x4603c4], ebp
mov dword [0x4603c0], ebp
mov dword [0x4603bc], ebp
call fcn.00401f30
mov esi, eax
add esp, 8
cmp esi, ebp
je 0x404237
push 0x4603a8
push 0x454754
push esi
call fcn.0042b4ec
add esp, 0xc
cmp eax, 0xffffffff
jne 0x4041d4
mov dword [0x4603a8], ebp
push 0x4603c8
push 0x454754
push esi
call fcn.0042b4ec
add esp, 0xc
cmp eax, 0xffffffff
jne 0x4041f2
mov dword [0x4603c8], ebp
push 0x4603c4
push 0x454754
push esi
call fcn.0042b4ec
add esp, 0xc
cmp eax, 0xffffffff
jne 0x404210
mov dword [0x4603c4], ebp
push 0x4603b8
push 0x454754
push esi
call fcn.0042b4ec
add esp, 0xc
cmp eax, 0xffffffff
jne 0x40422e
mov dword [0x4603b8], ebp
push esi
call fcn.0042a9cb
add esp, 4
mov ecx, dword [0x460500]
push 0x454738
push ecx
call fcn.00401f30
add esp, 8
cmp eax, ebp
jne 0x404256
mov esi, 1
jmp 0x404261
push eax
xor esi, esi
call fcn.0042a9cb
add esp, 4
mov eax, dword [0x4603b0]
mov ecx, dword [0x4603a8]
cmp ecx, eax
jne 0x404274
cmp esi, ebp
je 0x4042f3
mov edx, dword [0x4603ac]
mov dword [0x4603c8], ebp
sub eax, edx
mov dword [0x4603c4], ebp
cmp eax, 0xa
jg 0x404291
mov esi, eax
jmp 0x4042a6
mov esi, 0xa
mov ecx, 2
cmp eax, esi
jle 0x4042a6
add esi, ecx
inc ecx
cmp esi, eax
jl 0x40429f
push str.v__d.inc
lea edx, [esp + 0x14]
push 0x460518
push edx
call fcn.0043bb62
mov eax, dword [eax]
push esi
push eax
lea eax, [esp + 0x6b0]
push eax
call fcn.0042aa95
add esp, 0xc
lea ecx, [esp + 0x10]
call fcn.0043b8bd
mov ecx, dword [0x460500]
push ebp
push ebp
lea edx, [esp + 0x6b0]
push ecx
mov ecx, dword [0x4603cc]
push edx
call fcn.004076c0
mov eax, dword [0x460500]
mov ecx, 0x460590
push eax
call fcn.00407e00
test al, al
jne 0x404352
mov ecx, dword [0x460058]
push ebp
push ecx
call fcn.00402880
push ebp
push ebp
call fcn.00402880
mov edx, dword [0x46005c]
mov ecx, dword [0x4603d0]
add esp, 0x10
push edx
call fcn.00405f70
mov ecx, dword [0x4603d0]
push 0x46054c
call fcn.004060e0
push 0x12c
call dword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
jmp 0x40506a
mov eax, dword [0x460500]
push 0x454738
push eax
call fcn.00401f30
mov edi, eax
add esp, 8
cmp edi, ebp
mov dword [esp + 0x18], edi
jne 0x4043ba
mov ecx, dword [0x460058]
push ebp
push ecx
call fcn.00402880
push ebp
push ebp
call fcn.00402880
mov edx, dword [0x46005c]
mov ecx, dword [0x4603d0]
add esp, 0x10
push edx
call fcn.00405f70
mov ecx, dword [0x4603d0]
push 0x46054c
call fcn.004060e0
push 0x12c
call dword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
jmp 0x40506a
push edi
lea eax, [esp + 0x9c]
push 0x190
push eax
call fcn.0042b44e
add esp, 0xc
test eax, eax
je 0x40443b
cmp byte [esp + 0x98], 0x23
je 0x404421
mov esi, str._____BEGIN_ELEMENT_SIGNATURE______n
lea eax, [esp + 0x98]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x404412
test cl, cl
je 0x40440e
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x404412
add eax, 2
add esi, 2
test cl, cl
jne 0x4043ea
xor eax, eax
jmp 0x404417
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
je 0x40443b
inc dword [0x4603c0]
push edi
lea eax, [esp + 0x9c]
push 0x190
push eax
call fcn.0042b44e
add esp, 0xc
test eax, eax
jne 0x4043d4
cmp dword [0x4603c0], ebp
jne 0x404487
push edi
call fcn.0042a9cb
mov ecx, dword [0x460508]
push 0x454708
push ecx
call fcn.00401f30
mov esi, eax
add esp, 0xc
cmp esi, ebp
je 0x405065
mov edx, dword [0x4603b0]
push edx
push 0x454700
push esi
call fcn.0042b3de
push esi
call fcn.0042a9cb
add esp, 0x10
jmp 0x405065
push ebp
push ebp
push edi
call fcn.0042ac87
mov eax, dword [0x4603bc]
mov ecx, dword [0x4603c8]
add esp, 0xc
cmp eax, ecx
jge 0x404560
push edi
lea eax, [esp + 0x9c]
push 0x190
push eax
call fcn.0042b44e
add esp, 0xc
test eax, eax
je 0x4043b3
cmp byte [esp + 0x98], 0x23
je 0x404546
mov esi, str._____BEGIN_ELEMENT_SIGNATURE______n
lea eax, [esp + 0x98]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x404501
test cl, cl
je 0x4044fd
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x404501
add eax, 2
add esi, 2
test cl, cl
jne 0x4044d9
xor eax, eax
jmp 0x404506
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
je 0x40455b
mov edx, dword [0x4603bc]
lea eax, [esp + 0x548]
push eax
push 0x46034c
lea ecx, [esp + 0xa0]
inc edx
push str._s__s
push ecx
mov dword [0x4603bc], edx
call fcn.0042b41a
lea edx, [esp + 0x558]
push edx
call fcn.00402c30
add esp, 0x14
mov eax, dword [0x4603bc]
mov ecx, dword [0x4603c8]
cmp eax, ecx
jl 0x4044a5
jmp 0x404560
mov eax, dword [0x4603bc]
lea eax, [eax + eax*4]
mov ecx, dword [0x4603d0]
lea eax, [eax + eax*4]
shl eax, 2
cdq
idiv dword [0x4603c0]
push eax
call fcn.00406250
mov eax, dword [0x46006c]
mov ecx, dword [0x4603d0]
push eax
call fcn.00405f70
mov eax, dword [0x4604f0]
push eax
mov esi, eax
call fcn.0042a96a
push eax
push esi
call fcn.00402b50
push edi
lea ecx, [esp + 0xa8]
push 0x190
push ecx
call fcn.0042b44e
add esp, 0x18
test eax, eax
je 0x404b7e
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp byte [esp + 0x98], 0x23
je 0x404b4b
mov esi, str._____BEGIN_ELEMENT_SIGNATURE______n
lea eax, [esp + 0x98]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x404605
test cl, cl
je 0x4045ff
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x404605
add eax, 2
add esi, 2
test cl, cl
jne 0x4045df
xor ebp, ebp
xor eax, eax
jmp 0x40460c
sbb eax, eax
sbb eax, 0xffffffff
xor ebp, ebp
cmp eax, ebp
je 0x404b7a
lea eax, [esp + 0x548]
lea ecx, [esp + 0x98]
push eax
push 0x46034c
push str._s__s
push ecx
call fcn.0042b41a
lea edx, [esp + 0x238]
lea eax, [esp + 0x558]
push edx
push eax
call fcn.00402d60
mov al, byte [0x46034c]
add esp, 0x18
cmp al, 0x2d
je 0x404ac4
mov ecx, dword [0x46006c]
push ecx
mov ecx, dword [0x4603d0]
call fcn.00405f70
lea edx, [esp + 0x228]
lea eax, [esp + 0x1c]
push edx
xor ebp, ebp
push 0x4604e8
push eax
mov dword [esp + 0x20], ebp
call fcn.0043bb62
mov esi, dword [eax]
lea ecx, [esp + 0x228]
push ecx
lea edx, [esp + 0x34]
push 0x4604e8
push edx
mov dword [esp + 0x784], ebp
call fcn.0043bb62
mov edi, dword [eax]
push esi
mov byte [esp + 0x77c], 1
call fcn.0042a96a
push eax
push edi
call fcn.00402b50
add esp, 0xc
lea ecx, [esp + 0x30]
mov byte [esp + 0x778], 0
call fcn.0043b8bd
or esi, 0xffffffff
lea ecx, [esp + 0x1c]
mov dword [esp + 0x778], esi
call fcn.0043b8bd
call fcn.00401ef0
lea eax, [esp + 0x228]
lea ecx, [esp + 0x38]
push eax
push 0x4604e8
push ecx
call fcn.0043bb62
mov eax, dword [eax]
lea edx, [esp + 0x14]
lea ecx, [esp + 0x20]
push edx
push ecx
push eax
mov dword [esp + 0x784], 2
call sub.PackDLL.dll_CalcCompressFile
add esp, 0xc
lea ecx, [esp + 0x38]
mov dword [esp + 0x778], esi
call fcn.0043b8bd
call fcn.00401f10
mov eax, dword [esp + 0x14]
cmp eax, ebp
je 0x40488d
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x64]
push edx
push ecx
push eax
call fcn.00402730
mov edx, dword [esp + 0x20]
push edx
call sub.PackDLL.dll_ReleasePackBuf
add esp, 0x10
mov esi, 0x46034d
lea eax, [esp + 0x64]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40478c
test cl, cl
je 0x404788
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40478c
add eax, 2
add esi, 2
test cl, cl
jne 0x404768
xor eax, eax
jmp 0x404791
sbb eax, eax
sbb eax, 0xffffffff
xor esi, esi
cmp eax, esi
jne 0x404882
mov eax, dword [0x4600a8]
push esi
push eax
mov dword [0x4603a4], 1
mov dword [0x4603c4], esi
call fcn.00402880
lea ecx, [esp + 0x230]
push esi
push ecx
call fcn.00402880
push esi
push esi
call fcn.00402880
add esp, 0x18
lea edx, [esp + 0x228]
lea eax, [esp + 0x2c]
push edx
push 0x4604f0
push eax
call fcn.0043bb62
mov esi, dword [eax]
lea ecx, [esp + 0x228]
push ecx
lea edx, [esp + 0x28]
push 0x4604f0
push edx
mov dword [esp + 0x784], 3
call fcn.0043bb62
mov edi, dword [eax]
push esi
mov byte [esp + 0x77c], 4
call fcn.0042a96a
push eax
push edi
call fcn.00402b50
add esp, 0xc
lea ecx, [esp + 0x24]
mov byte [esp + 0x778], 3
call fcn.0043b8bd
lea ecx, [esp + 0x2c]
mov dword [esp + 0x778], 0xffffffff
call fcn.0043b8bd
mov ecx, dword [0x4603c4]
xor eax, eax
test ecx, ecx
setne al
mov dword [0x4603a0], eax
call ebx
mov ebp, eax
mov eax, dword [0x4603a4]
test eax, eax
mov edi, ebp
jne 0x404ac4
mov eax, dword [0x4603a0]
push 0
test eax, eax
je 0x404898
mov ecx, dword [0x4600ac]
push ecx
jmp 0x40489f
mov dword [0x4603a4], esi
jmp 0x4047cf
mov dword [0x4603a4], ebp
jmp 0x4047cf
mov edx, dword [0x4600b0]
push edx
call fcn.00402880
add esp, 8
lea eax, [esp + 0x228]
push 0
push eax
call fcn.00402880
push 0
push 0
call fcn.00402880
add esp, 0x10
lea ecx, [esp + 0x548]
mov byte [0x4604dc], 0
push ecx
lea ecx, [esp + 0x14]
call fcn.0043b986
lea edx, [esp + 0x10]
lea eax, [esp + 0x34]
push edx
push 0x460514
push eax
mov dword [esp + 0x784], 5
call fcn.0043bafc
mov ecx, dword [0x4603c4]
mov edx, dword [0x46051c]
mov eax, dword [eax]
push ecx
mov ecx, dword [0x4603cc]
push 0x403f60
push edx
push eax
mov byte [esp + 0x788], 6
call fcn.004076c0
lea ecx, [esp + 0x34]
mov byte [esp + 0x778], 5
call fcn.0043b8bd
lea ecx, [esp + 0x10]
mov dword [esp + 0x778], 0xffffffff
call fcn.0043b8bd
mov al, byte [0x4604dc]
test al, al
je 0x404b6b
mov ecx, dword [0x46051c]
lea eax, [esp + 0x64]
push eax
push ecx
call fcn.004025e0
add esp, 8
mov esi, 0x46034d
lea eax, [esp + 0x64]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x404999
test cl, cl
je 0x404995
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x404999
add eax, 2
add esi, 2
test cl, cl
jne 0x404971
xor eax, eax
jmp 0x40499e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x404a2c
lea eax, [esp + 0x228]
lea ecx, [esp + 0x3c]
push eax
push 0x4604f0
push ecx
mov dword [0x4603a4], 1
call fcn.0043bb62
mov eax, dword [eax]
mov edx, dword [0x46051c]
push eax
push edx
mov dword [esp + 0x780], 7
call sub.PackDLL.dll_DecompressFile
add esp, 8
lea ecx, [esp + 0x3c]
test al, al
sete bl
mov dword [esp + 0x778], 0xffffffff
call fcn.0043b8bd
test bl, bl
je 0x404a36
mov eax, dword [0x460074]
mov ecx, dword [0x4603d0]
push eax
call fcn.00405f70
mov ecx, dword [0x460074]
push 0
push ecx
call fcn.00402880
push 0
push 0
call fcn.00402880
add esp, 0x10
mov dword [0x4603a4], 0
mov eax, dword [0x4603a4]
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
test eax, eax
mov dword [0x4603c4], 0
jne 0x404ac4
mov edx, dword [0x46006c]
mov ecx, dword [0x4603d0]
push edx
call fcn.00405f70
mov eax, dword [0x460068]
push 0
push eax
call fcn.00402880
push 0
push 0
call fcn.00402880
mov eax, dword [0x4603a4]
add esp, 0x10
test eax, eax
jne 0x404ac4
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0xc8
call esi
call fcn.00401f10
call ebx
mov edx, dword [0x454214]
mov ecx, eax
sub ecx, edi
cmp ecx, edx
jbe 0x404a89
mov ecx, dword [0x454218]
mov edi, eax
sub eax, ebp
cmp eax, ecx
jae 0x4043b3
mov eax, dword [0x4603a4]
test eax, eax
je 0x40486e
mov ebp, dword [0x4603bc]
mov dword [0x4603c4], 0
inc ebp
mov dword [0x4603bc], ebp
call fcn.00401ef0
mov edx, dword [0x4604fc]
push 0x454708
push edx
call fcn.00401f30
mov esi, eax
add esp, 8
test esi, esi
je 0x404b1f
mov eax, dword [0x4603bc]
mov ecx, dword [0x4603b0]
push 0
push 0
push eax
push ecx
push str._d__d__d__d_r_n
push esi
call fcn.0042b4b0
push esi
call fcn.0042a9cb
add esp, 0x1c
call fcn.00401f10
mov eax, dword [0x4603bc]
mov ecx, dword [0x4603d0]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 2
cdq
idiv dword [0x4603c0]
push eax
call fcn.00406250
mov edi, dword [esp + 0x18]
xor ebp, ebp
push edi
lea edx, [esp + 0x9c]
push 0x190
push edx
call fcn.0042b44e
add esp, 0xc
test eax, eax
jne 0x4045c5
jmp 0x404b7e
mov dword [0x4603a4], 0
jmp 0x404a4f
mov edi, dword [esp + 0x18]
push ebp
push ebp
push edi
call fcn.0042ac87
mov eax, dword [0x4600b4]
mov ecx, dword [0x4603d0]
add esp, 0xc
push eax
call fcn.00405f70
mov ecx, dword [0x4603d0]
push ebp
mov dword [0x4603bc], ebp
call fcn.00406250
push edi
lea ecx, [esp + 0x9c]
push 0x190
push ecx
call fcn.0042b44e
add esp, 0xc
test eax, eax
je 0x404fec
mov ebx, 0x12
or ebp, 0xffffffff
lea edx, [esp + 0x548]
lea eax, [esp + 0x98]
push edx
push 0x46034c
push str._s__s
push eax
call fcn.0042b41a
mov al, byte [esp + 0xa8]
add esp, 0x10
cmp al, 0x23
je 0x404fca
mov esi, str._____BEGIN_ELEMENT_SIGNATURE______n
lea eax, [esp + 0x98]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x404c33
test cl, cl
je 0x404c2f
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x404c33
add eax, 2
add esi, 2
test cl, cl
jne 0x404c0f
xor eax, eax
jmp 0x404c37
sbb eax, eax
sbb eax, ebp
test eax, eax
je 0x404fec
lea eax, [esp + 0x228]
lea ecx, [esp + 0x548]
push eax
push ecx
call fcn.00402d60
mov al, byte [0x46034c]
add esp, 8
cmp al, 0x2d
jne 0x404d3f
mov edx, dword [0x4600b8]
mov ecx, dword [0x4603d0]
push edx
call fcn.00405f70
mov eax, dword [0x4600bc]
push 0
push eax
call fcn.00402880
lea ecx, [esp + 0x230]
push 0
push ecx
call fcn.00402880
push 0
push 0
call fcn.00402880
add esp, 0x18
lea edx, [esp + 0x228]
lea eax, [esp + 0x3c]
push edx
push 0x4604e8
push eax
call fcn.0043bb62
mov eax, dword [eax]
push eax
call fcn.00402190
add esp, 4
lea ecx, [esp + 0x3c]
call fcn.0043b8bd
lea ecx, [esp + 0x228]
lea edx, [esp + 0x2c]
push ecx
push 0x4604e8
push edx
call fcn.0043bb62
mov esi, dword [eax]
lea eax, [esp + 0x228]
push eax
lea ecx, [esp + 0x38]
push 0x4604e8
push ecx
mov dword [esp + 0x784], 8
call fcn.0043bb62
mov edi, dword [eax]
push esi
mov byte [esp + 0x77c], 9
call fcn.0042a96a
push eax
push edi
call fcn.00402bc0
add esp, 0xc
lea ecx, [esp + 0x34]
mov byte [esp + 0x778], 8
call fcn.0043b8bd
mov dword [esp + 0x778], ebp
lea ecx, [esp + 0x2c]
jmp 0x404f9e
mov edx, dword [0x46007c]
mov ecx, dword [0x4603d0]
push edx
call fcn.00405f70
lea eax, [esp + 0x228]
lea ecx, [esp + 0x20]
push eax
push 0x4604e8
push ecx
call fcn.0043bb62
mov esi, dword [eax]
lea edx, [esp + 0x228]
push edx
lea eax, [esp + 0x28]
push 0x4604e8
push eax
mov dword [esp + 0x784], 0xa
call fcn.0043bb62
mov edi, dword [eax]
push esi
mov byte [esp + 0x77c], 0xb
call fcn.0042a96a
push eax
push edi
call fcn.00402b50
add esp, 0xc
lea ecx, [esp + 0x24]
mov byte [esp + 0x778], 0xa
call fcn.0043b8bd
lea ecx, [esp + 0x20]
mov dword [esp + 0x778], ebp
call fcn.0043b8bd
mov dword [esp + 0x28], 0
call fcn.00401ef0
lea ecx, [esp + 0x228]
lea edx, [esp + 0x1c]
push ecx
push 0x4604e8
push edx
call fcn.0043bb62
mov esi, dword [eax]
lea eax, [esp + 0x228]
push eax
lea ecx, [esp + 0x3c]
push 0x4604e8
push ecx
mov dword [esp + 0x784], 0xc
call fcn.0043bb62
mov edi, dword [eax]
push esi
mov byte [esp + 0x77c], 0xd
call fcn.0042a96a
push eax
push edi
call fcn.00402b50
add esp, 0xc
lea ecx, [esp + 0x38]
mov byte [esp + 0x778], 0xc
call fcn.0043b8bd
lea ecx, [esp + 0x1c]
mov dword [esp + 0x778], ebp
call fcn.0043b8bd
lea edx, [esp + 0x228]
lea eax, [esp + 0x30]
push edx
push 0x4604e8
push eax
call fcn.0043bb62
mov eax, dword [eax]
lea ecx, [esp + 0x28]
lea edx, [esp + 0x40]
push ecx
push edx
push eax
mov dword [esp + 0x784], 0xe
call sub.PackDLL.dll_CalcCompressFile
add esp, 0xc
lea ecx, [esp + 0x30]
mov dword [esp + 0x778], ebp
call fcn.0043b8bd
call fcn.00401f10
mov eax, dword [esp + 0x28]
test eax, eax
je 0x405083
mov edx, dword [esp + 0x40]
lea ecx, [esp + 0x64]
push ecx
push edx
push eax
call fcn.00402730
mov eax, dword [esp + 0x34]
push eax
call sub.PackDLL.dll_ReleasePackBuf
add esp, 0x10
mov esi, 0x46034d
lea eax, [esp + 0x64]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x404eec
test cl, cl
je 0x404ee8
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x404eec
add eax, 2
add esi, 2
test cl, cl
jne 0x404ec8
xor eax, eax
jmp 0x404ef0
sbb eax, eax
sbb eax, ebp
test eax, eax
jne 0x405083
lea ecx, [esp + 0x228]
lea edx, [esp + 0x54]
push ecx
push 0x4604f0
push edx
mov dword [0x4603a4], 1
call fcn.0043bb62
mov eax, dword [eax]
push eax
call fcn.00402190
add esp, 4
lea ecx, [esp + 0x54]
call fcn.0043b8bd
lea eax, [esp + 0x228]
lea ecx, [esp + 0x4c]
push eax
push 0x4604f0
push ecx
call fcn.0043bb62
mov esi, dword [eax]
lea edx, [esp + 0x228]
push edx
lea eax, [esp + 0x48]
push 0x4604f0
push eax
mov dword [esp + 0x784], 0x14
call fcn.0043bb62
mov edi, dword [eax]
push esi
mov byte [esp + 0x77c], 0x15
call fcn.0042a96a
push eax
push edi
call fcn.00402bc0
add esp, 0xc
lea ecx, [esp + 0x44]
mov byte [esp + 0x778], 0x14
call fcn.0043b8bd
mov dword [esp + 0x778], ebp
lea ecx, [esp + 0x4c]
call fcn.0043b8bd
mov eax, dword [0x4603bc]
mov ecx, dword [0x4603d0]
inc eax
mov dword [0x4603bc], eax
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 2
cdq
idiv dword [0x4603c0]
push eax
call fcn.00406250
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x98]
push ecx
push 0x190
push edx
call fcn.0042b44e
add esp, 0xc
test eax, eax
jne 0x404bd2
mov eax, dword [esp + 0x18]
push eax
call fcn.0042a9cb
mov ecx, dword [0x4603d0]
add esp, 4
push 0x64
call fcn.00406250
mov ecx, dword [0x460508]
push 0x454708
push ecx
call fcn.00401f30
mov esi, eax
add esp, 8
test esi, esi
je 0x40503b
mov edx, dword [0x4603b0]
push edx
push 0x454700
push esi
call fcn.0042b3de
push esi
call fcn.0042a9cb
add esp, 0x10
mov eax, dword [0x4604fc]
push eax
call fcn.00402190
mov ecx, dword [0x460500]
push ecx
call fcn.00402190
mov ecx, dword [0x4603d0]
add esp, 8
push 0x46054c
call fcn.004060e0
mov eax, 1
mov ecx, dword [esp + 0x770]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x76c
ret
mov eax, dword [0x460080]
push 0
push eax
mov dword [0x4603a4], 0
call fcn.00402880
lea ecx, [esp + 0x230]
push 0
push ecx
call fcn.00402880
push 0
push 0
call fcn.00402880
add esp, 0x18
lea edx, [esp + 0x228]
lea eax, [esp + 0x14]
push edx
push 0x4604e8
push eax
call fcn.0043bb62
mov esi, dword [eax]
lea ecx, [esp + 0x228]
push ecx
lea edx, [esp + 0x14]
push 0x4604e8
push edx
mov dword [esp + 0x784], 0xf
call fcn.0043bb62
mov edi, dword [eax]
push esi
mov byte [esp + 0x77c], 0x10
call fcn.0042a96a
push eax
push edi
call fcn.00402b50
add esp, 0xc
lea ecx, [esp + 0x10]
mov byte [esp + 0x778], 0xf
call fcn.0043b8bd
lea ecx, [esp + 0x14]
mov dword [esp + 0x778], ebp
call fcn.0043b8bd
call fcn.00401ef0
lea eax, [esp + 0x228]
lea ecx, [esp + 0x48]
push eax
push 0x4604e8
push ecx
call fcn.0043bb62
mov eax, dword [eax]
push eax
call fcn.00402190
add esp, 4
lea ecx, [esp + 0x48]
call fcn.0043b8bd
lea edx, [esp + 0x228]
lea eax, [esp + 0x50]
push edx
push 0x4604e8
push eax
call fcn.0043bb62
mov esi, dword [eax]
lea ecx, [esp + 0x228]
push ecx
lea edx, [esp + 0x5c]
push 0x4604f0
push edx
mov dword [esp + 0x784], 0x11
call fcn.0043bb62
mov eax, dword [eax]
push esi
push eax
call fcn.00401f70
add esp, 8
lea ecx, [esp + 0x58]
call fcn.0043b8bd
lea ecx, [esp + 0x50]
mov dword [esp + 0x778], ebp
call fcn.0043b8bd
call fcn.00401f10
lea eax, [esp + 0x228]
lea ecx, [esp + 0x5c]
push eax
push 0x4604f0
push ecx
call fcn.0043bb62
mov esi, dword [eax]
lea edx, [esp + 0x228]
push edx
lea eax, [esp + 0x64]
push 0x4604f0
push eax
mov dword [esp + 0x784], ebx
call fcn.0043bb62
mov edi, dword [eax]
push esi
mov byte [esp + 0x77c], 0x13
call fcn.0042a96a
push eax
push edi
call fcn.00402bc0
add esp, 0xc
lea ecx, [esp + 0x60]
mov byte [esp + 0x778], bl
call fcn.0043b8bd
mov dword [esp + 0x778], ebp
lea ecx, [esp + 0x5c]
jmp 0x404f9e