Function at 0x401840
Capabilities:
Inspect section memory permissions
Parse pe header

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x24f4
call fcn.004f8190
mov eax, dword [0x575e00]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2438], eax
mov ecx, dword [ebp - 0x2438]
movzx edx, word [ecx]
cmp edx, 0x5a4d
je 0x401879
xor eax, eax
jmp 0x403004
mov byte [ebp - 0x23dd], 1
mov byte [ebp - 0x22d8], 0
mov byte [ebp - 0x22c8], 0
movzx eax, byte [ebp - 0x22d8]
test eax, eax
jne 0x4018a8
movzx ecx, byte [ebp - 0x22c8]
test ecx, ecx
je 0x40194a
mov dword [ebp - 0x2328], 0x15c20
mov dword [ebp - 0x2370], 0
jmp 0x4018cd
mov edx, dword [ebp - 0x2370]
add edx, 1
mov dword [ebp - 0x2370], edx
cmp dword [ebp - 0x2370], 0x28
jge 0x4018f4
cmp dword [ebp - 0x2328], 0
jge 0x4018e3
jmp 0x4018f4
mov eax, dword [ebp - 0x2328]
sub eax, 1
mov dword [ebp - 0x2328], eax
jmp 0x4018be
mov dword [ebp - 0x2328], 0xb9e1a
mov dword [ebp - 0x2374], 0
cmp dword [ebp - 0x2374], 0x23
jge 0x40194a
movzx ecx, byte [ebp - 0x22c8]
test ecx, ecx
je 0x401927
movzx edx, byte [ebp - 0x22c8]
test edx, edx
jne 0x401932
movzx eax, byte [ebp - 0x22c8]
test eax, eax
jne 0x401939
mov byte [ebp - 0x22d8], 1
mov ecx, dword [ebp - 0x2374]
add ecx, 1
mov dword [ebp - 0x2374], ecx
jmp 0x401908
mov byte [ebp - 0x23e9], 1
mov byte [ebp - 0x22d9], 1
mov byte [ebp - 0x22d5], 1
mov byte [ebp - 0x22da], 0
movzx edx, byte [ebp - 0x22d9]
test edx, edx
jne 0x40198f
movzx eax, byte [ebp - 0x22d5]
test eax, eax
je 0x401a36
movzx ecx, byte [ebp - 0x22da]
test ecx, ecx
je 0x401a36
mov dword [ebp - 0x2338], 0x63e2
mov dword [ebp - 0x2378], 0
jmp 0x4019b4
mov edx, dword [ebp - 0x2378]
add edx, 1
mov dword [ebp - 0x2378], edx
cmp dword [ebp - 0x2378], 0x21
jge 0x4019db
cmp dword [ebp - 0x2338], 0
jge 0x4019ca
jmp 0x4019db
mov eax, dword [ebp - 0x2338]
sub eax, 1
mov dword [ebp - 0x2338], eax
jmp 0x4019a5
mov dword [ebp - 0x2338], 0x41f47
mov dword [ebp - 0x237c], 0
cmp dword [ebp - 0x237c], 2
jge 0x401a31
movzx ecx, byte [ebp - 0x22d5]
test ecx, ecx
je 0x401a0e
movzx edx, byte [ebp - 0x22d9]
test edx, edx
jne 0x401a19
movzx eax, byte [ebp - 0x22da]
test eax, eax
jne 0x401a20
mov byte [ebp - 0x22d5], 1
mov ecx, dword [ebp - 0x237c]
add ecx, 1
mov dword [ebp - 0x237c], ecx
jmp 0x4019ef
jmp 0x401ac9
mov dword [ebp - 0x5c], 0x7214
mov dword [ebp - 0x58], 0x5ae4
mov dword [ebp - 0x54], 0x1168d
mov dword [ebp - 0x50], 0x107e9
mov dword [ebp - 0x4c], 0x119af
mov dword [ebp - 0x48], 0x69b7
mov dword [ebp - 0x44], 0x1063d
mov dword [ebp - 0x40], 0x966b
mov dword [ebp - 0x3c], 0x62c
mov dword [ebp - 0x38], 0x108b5
mov dword [ebp - 0x34], 0xa6f6
mov dword [ebp - 0x30], 0x2992
mov dword [ebp - 0x2314], 0
jmp 0x401aa5
mov edx, dword [ebp - 0x2314]
add edx, 1
mov dword [ebp - 0x2314], edx
cmp dword [ebp - 0x2314], 0xc
jae 0x401ac9
mov eax, 0xc
sub eax, dword [ebp - 0x2314]
mov ecx, dword [ebp - 0x2314]
mov edx, dword [ebp + eax*4 - 0x5c]
mov dword [ebp + ecx*4 - 0x5c], edx
jmp 0x401a96
mov byte [ebp - 0x23ea], 0
mov byte [ebp - 0x22db], 1
mov byte [ebp - 0x22c9], 0
movzx eax, byte [ebp - 0x22db]
test eax, eax
je 0x401b9e
movzx ecx, byte [ebp - 0x22c9]
test ecx, ecx
je 0x401b9e
mov dword [ebp - 0x2330], 0x3b96
mov dword [ebp - 0x2380], 0
jmp 0x401b21
mov edx, dword [ebp - 0x2380]
add edx, 1
mov dword [ebp - 0x2380], edx
cmp dword [ebp - 0x2380], 1
jge 0x401b48
cmp dword [ebp - 0x2330], 0
jge 0x401b37
jmp 0x401b48
mov eax, dword [ebp - 0x2330]
sub eax, 1
mov dword [ebp - 0x2330], eax
jmp 0x401b12
mov dword [ebp - 0x2330], 0x19ca8
mov dword [ebp - 0x2384], 0
cmp dword [ebp - 0x2384], 0x1d
jge 0x401b9e
movzx ecx, byte [ebp - 0x22db]
test ecx, ecx
je 0x401b7b
movzx edx, byte [ebp - 0x22c9]
test edx, edx
jne 0x401b86
movzx eax, byte [ebp - 0x22c9]
test eax, eax
jne 0x401b8d
mov byte [ebp - 0x22c9], 0
mov ecx, dword [ebp - 0x2384]
add ecx, 1
mov dword [ebp - 0x2384], ecx
jmp 0x401b5c
mov byte [ebp - 0x23eb], 0
mov byte [ebp - 0x23ec], 1
mov byte [ebp - 0x22c7], 0
movzx edx, byte [ebp - 0x22c7]
test edx, edx
je 0x401c64
mov dword [ebp - 0x2334], 0x120da
mov dword [ebp - 0x2388], 0
jmp 0x401be7
mov eax, dword [ebp - 0x2388]
add eax, 1
mov dword [ebp - 0x2388], eax
cmp dword [ebp - 0x2388], 0x13
jge 0x401c0e
cmp dword [ebp - 0x2334], 0
jge 0x401bfd
jmp 0x401c0e
mov ecx, dword [ebp - 0x2334]
sub ecx, 1
mov dword [ebp - 0x2334], ecx
jmp 0x401bd8
mov dword [ebp - 0x2334], 0x25ace
mov dword [ebp - 0x238c], 0
cmp dword [ebp - 0x238c], 0x5f
jge 0x401c64
movzx edx, byte [ebp - 0x22c7]
test edx, edx
je 0x401c41
movzx eax, byte [ebp - 0x22c7]
test eax, eax
jne 0x401c4c
movzx ecx, byte [ebp - 0x22c7]
test ecx, ecx
jne 0x401c53
mov byte [ebp - 0x22c7], 1
mov edx, dword [ebp - 0x238c]
add edx, 1
mov dword [ebp - 0x238c], edx
jmp 0x401c22
mov byte [ebp - 0x23ed], 0
mov eax, dword [ebp - 0x2438]
mov ecx, dword [ebp + 8]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x230c], ecx
mov edx, dword [ebp - 0x230c]
cmp dword [edx], 0x4550
je 0x401c92
xor eax, eax
jmp 0x403004
mov eax, dword [ebp - 0x230c]
add eax, 0x18
mov dword [ebp - 0x22e8], eax
mov ecx, 8
imul edx, ecx, 5
mov eax, dword [ebp - 0x22e8]
lea ecx, [eax + edx + 0x60]
mov dword [ebp - 0x23d0], ecx
mov edx, dword [ebp - 0x22e8]
cmp dword [edx + 0x10], 0
je 0x401cd0
mov eax, dword [ebp - 0x23d0]
cmp dword [eax], 0
jne 0x401cd7
xor eax, eax
jmp 0x403004
mov dword [ebp - 0x242c], 0x16
mov dword [ebp - 0x2440], 0x243
mov ecx, dword [ebp - 0x242c]
add ecx, 0xb4
mov eax, 0x1d58
cdq
idiv dword [ebp - 0x242c]
cdq
mov esi, 0x10ba
idiv esi
cdq
idiv dword [ebp - 0x2440]
sub ecx, eax
add ecx, 0x26fc
mov dword [ebp - 0x24b4], ecx
movzx edx, byte [ebp - 0x23ee]
push edx
push 0x5071a4
lea ecx, [ebp - 0x22a8]
call fcn.004f57e0
mov ecx, eax
call fcn.004f7a40
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x2444], eax
movzx eax, byte [ebp - 0x23ef]
push eax
push str.NtAllocateVirtualMemory
lea ecx, [ebp - 0x22c4]
call fcn.004f5240
mov ecx, eax
call fcn.004f7b40
push eax
mov ecx, dword [ebp - 0x2444]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x2430], eax
lea edx, [ebp - 0x229c]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
movzx eax, word [ebp - 0x2294]
movzx ecx, word [ebp - 0x2292]
cmp eax, ecx
jge 0x401daa
mov dword [ebp - 0x2428], 1
jmp 0x401db4
mov dword [ebp - 0x2428], 0
movzx edx, word [ebp - 0x2290]
cmp dword [ebp - 0x2428], edx
jne 0x402475
mov byte [ebp - 0x2359], 1
mov byte [ebp - 0x235a], 1
mov byte [ebp - 0x235b], 1
mov byte [ebp - 0x22e3], 0
mov byte [ebp - 0x22f1], 0
mov byte [ebp - 0x22f2], 1
mov byte [ebp - 0x22ca], 0
movzx eax, byte [ebp - 0x22e3]
test eax, eax
je 0x401ed6
movzx ecx, byte [ebp - 0x22f1]
test ecx, ecx
je 0x401ed6
movzx edx, byte [ebp - 0x22f2]
test edx, edx
je 0x401ed6
movzx eax, byte [ebp - 0x22ca]
test eax, eax
je 0x401ed6
mov dword [ebp - 0x233c], 0xb22d
mov dword [ebp - 0x2390], 0
jmp 0x401e59
mov ecx, dword [ebp - 0x2390]
add ecx, 1
mov dword [ebp - 0x2390], ecx
cmp dword [ebp - 0x2390], 0x17
jge 0x401e80
cmp dword [ebp - 0x233c], 0
jge 0x401e6f
jmp 0x401e80
mov edx, dword [ebp - 0x233c]
sub edx, 1
mov dword [ebp - 0x233c], edx
jmp 0x401e4a
mov dword [ebp - 0x233c], 0xe972
mov dword [ebp - 0x2394], 0
cmp dword [ebp - 0x2394], 0x57
jge 0x401ed6
movzx eax, byte [ebp - 0x22ca]
test eax, eax
je 0x401eb3
movzx ecx, byte [ebp - 0x22ca]
test ecx, ecx
jne 0x401ebe
movzx edx, byte [ebp - 0x22e3]
test edx, edx
jne 0x401ec5
mov byte [ebp - 0x22ca], 0
mov eax, dword [ebp - 0x2394]
add eax, 1
mov dword [ebp - 0x2394], eax
jmp 0x401e94
mov byte [ebp - 0x235c], 1
mov byte [ebp - 0x235d], 0
mov byte [ebp - 0x22f3], 1
mov byte [ebp - 0x22e2], 1
mov byte [ebp - 0x22e1], 0
mov byte [ebp - 0x22d6], 0
movzx ecx, byte [ebp - 0x22f3]
test ecx, ecx
jne 0x401f30
movzx edx, byte [ebp - 0x22e2]
test edx, edx
je 0x401f21
movzx eax, byte [ebp - 0x22e1]
test eax, eax
jne 0x401f30
movzx ecx, byte [ebp - 0x22d6]
test ecx, ecx
je 0x401fd7
mov dword [ebp - 0x2340], 0x2980
mov dword [ebp - 0x2398], 0
jmp 0x401f55
mov edx, dword [ebp - 0x2398]
add edx, 1
mov dword [ebp - 0x2398], edx
cmp dword [ebp - 0x2398], 0x22
jge 0x401f7c
cmp dword [ebp - 0x2340], 0
jge 0x401f6b
jmp 0x401f7c
mov eax, dword [ebp - 0x2340]
sub eax, 1
mov dword [ebp - 0x2340], eax
jmp 0x401f46
mov dword [ebp - 0x2340], 0x9765a
mov dword [ebp - 0x239c], 0
cmp dword [ebp - 0x239c], 0x29
jge 0x401fd2
movzx ecx, byte [ebp - 0x22d6]
test ecx, ecx
je 0x401faf
movzx edx, byte [ebp - 0x22d6]
test edx, edx
jne 0x401fba
movzx eax, byte [ebp - 0x22e2]
test eax, eax
jne 0x401fc1
mov byte [ebp - 0x22e1], 0
mov ecx, dword [ebp - 0x239c]
add ecx, 1
mov dword [ebp - 0x239c], ecx
jmp 0x401f90
jmp 0x402475
mov byte [ebp - 0x235e], 1
mov byte [ebp - 0x22e0], 0
mov byte [ebp - 0x22d7], 1
mov byte [ebp - 0x22df], 1
movzx edx, byte [ebp - 0x22e0]
test edx, edx
jne 0x402018
movzx eax, byte [ebp - 0x22d7]
test eax, eax
jne 0x402018
movzx ecx, byte [ebp - 0x22df]
test ecx, ecx
je 0x4020ba
mov dword [ebp - 0x2344], 0xccce
mov dword [ebp - 0x23a0], 0
jmp 0x40203d
mov edx, dword [ebp - 0x23a0]
add edx, 1
mov dword [ebp - 0x23a0], edx
cmp dword [ebp - 0x23a0], 3
jge 0x402064
cmp dword [ebp - 0x2344], 0
jge 0x402053
jmp 0x402064
mov eax, dword [ebp - 0x2344]
sub eax, 1
mov dword [ebp - 0x2344], eax
jmp 0x40202e
mov dword [ebp - 0x2344], 0xefe34
mov dword [ebp - 0x23a4], 0
cmp dword [ebp - 0x23a4], 0x50
jge 0x4020ba
movzx ecx, byte [ebp - 0x22d7]
test ecx, ecx
je 0x402097
movzx edx, byte [ebp - 0x22d7]
test edx, edx
jne 0x4020a2
movzx eax, byte [ebp - 0x22e0]
test eax, eax
jne 0x4020a9
mov byte [ebp - 0x22df], 1
mov ecx, dword [ebp - 0x23a4]
add ecx, 1
mov dword [ebp - 0x23a4], ecx
jmp 0x402078
mov byte [ebp - 0x235f], 0
mov byte [ebp - 0x2360], 0
mov byte [ebp - 0x22e4], 1
mov byte [ebp - 0x22dc], 0
mov byte [ebp - 0x22de], 1
mov byte [ebp - 0x22dd], 1
movzx edx, byte [ebp - 0x22e4]
test edx, edx
je 0x4021c7
movzx eax, byte [ebp - 0x22dc]
test eax, eax
je 0x4021c7
movzx ecx, byte [ebp - 0x22de]
test ecx, ecx
je 0x4021c7
movzx edx, byte [ebp - 0x22dd]
test edx, edx
je 0x4021c7
mov dword [ebp - 0x2348], 0x12701
mov dword [ebp - 0x23a8], 0
jmp 0x402145
mov eax, dword [ebp - 0x23a8]
add eax, 1
mov dword [ebp - 0x23a8], eax
cmp dword [ebp - 0x23a8], 0x28
jge 0x40216c
cmp dword [ebp - 0x2348], 0
jge 0x40215b
jmp 0x40216c
mov ecx, dword [ebp - 0x2348]
sub ecx, 1
mov dword [ebp - 0x2348], ecx
jmp 0x402136
mov dword [ebp - 0x2348], 0xf523
mov dword [ebp - 0x23ac], 0
cmp dword [ebp - 0x23ac], 0x50
jge 0x4021c2
movzx edx, byte [ebp - 0x22de]
test edx, edx
je 0x40219f
movzx eax, byte [ebp - 0x22dd]
test eax, eax
jne 0x4021aa
movzx ecx, byte [ebp - 0x22e4]
test ecx, ecx
jne 0x4021b1
mov byte [ebp - 0x22dc], 0
mov edx, dword [ebp - 0x23ac]
add edx, 1
mov dword [ebp - 0x23ac], edx
jmp 0x402180
jmp 0x4022d3
push 0x1110
push 0
lea eax, [ebp - 0x227c]
push eax
call fcn.004fa990
add esp, 0xc
mov dword [ebp - 0x234c], 0
jmp 0x4021f8
mov ecx, dword [ebp - 0x234c]
add ecx, 1
mov dword [ebp - 0x234c], ecx
cmp dword [ebp - 0x234c], 6
jae 0x40224d
mov dword [ebp - 0x2350], 0
jmp 0x40221c
mov edx, dword [ebp - 0x2350]
add edx, 1
mov dword [ebp - 0x2350], edx
cmp dword [ebp - 0x2350], 0x5b
jge 0x40224b
imul eax, dword [ebp - 0x234c], 0x2d8
lea ecx, [ebp + eax - 0x227c]
mov edx, dword [ebp - 0x2350]
movsd xmm0, qword [0x507330]
movsd qword [ecx + edx*8], xmm0
jmp 0x40220d
jmp 0x4021e9
push 0x1110
push 0
lea eax, [ebp - 0x116c]
push eax
call fcn.004fa990
add esp, 0xc
mov dword [ebp - 0x2354], 0
jmp 0x40227e
mov ecx, dword [ebp - 0x2354]
add ecx, 1
mov dword [ebp - 0x2354], ecx
cmp dword [ebp - 0x2354], 6
jae 0x4022d3
mov dword [ebp - 0x2318], 0
jmp 0x4022a2
mov edx, dword [ebp - 0x2318]
add edx, 1
mov dword [ebp - 0x2318], edx
cmp dword [ebp - 0x2318], 0x5b
jge 0x4022d1
imul eax, dword [ebp - 0x2354], 0x2d8
lea ecx, [ebp + eax - 0x116c]
mov edx, dword [ebp - 0x2318]
movsd xmm0, qword [0x507320]
movsd qword [ecx + edx*8], xmm0
jmp 0x402293
jmp 0x40226f
mov byte [ebp - 0x2361], 0
mov byte [ebp - 0x2362], 0
mov byte [ebp - 0x22c5], 1
mov byte [ebp - 0x22f4], 0
movzx eax, byte [ebp - 0x22c5]
test eax, eax
je 0x4023af
movzx ecx, byte [ebp - 0x22f4]
test ecx, ecx
je 0x4023af
mov dword [ebp - 0x231c], 0x13af1
mov dword [ebp - 0x23b0], 0
jmp 0x402332
mov edx, dword [ebp - 0x23b0]
add edx, 1
mov dword [ebp - 0x23b0], edx
cmp dword [ebp - 0x23b0], 0x2f
jge 0x402359
cmp dword [ebp - 0x231c], 0
jge 0x402348
jmp 0x402359
mov eax, dword [ebp - 0x231c]
sub eax, 1
mov dword [ebp - 0x231c], eax
jmp 0x402323
mov dword [ebp - 0x231c], 0x7222a
mov dword [ebp - 0x23b4], 0
cmp dword [ebp - 0x23b4], 0x48
jge 0x4023af
movzx ecx, byte [ebp - 0x22c5]
test ecx, ecx
je 0x40238c
movzx edx, byte [ebp - 0x22c5]
test edx, edx
jne 0x402397
movzx eax, byte [ebp - 0x22c5]
test eax, eax
jne 0x40239e
mov byte [ebp - 0x22c5], 1
mov ecx, dword [ebp - 0x23b4]
add ecx, 1
mov dword [ebp - 0x23b4], ecx
jmp 0x40236d
mov byte [ebp - 0x2363], 1
mov byte [ebp - 0x22c6], 1
movzx edx, byte [ebp - 0x22c6]
test edx, edx
je 0x40246e
mov dword [ebp - 0x2320], 0xbf0
mov dword [ebp - 0x23b8], 0
jmp 0x4023f1
mov eax, dword [ebp - 0x23b8]
add eax, 1
mov dword [ebp - 0x23b8], eax
cmp dword [ebp - 0x23b8], 0x15
jge 0x402418
cmp dword [ebp - 0x2320], 0
jge 0x402407
jmp 0x402418
mov ecx, dword [ebp - 0x2320]
sub ecx, 1
mov dword [ebp - 0x2320], ecx
jmp 0x4023e2
mov dword [ebp - 0x2320], 0x90316
mov dword [ebp - 0x23bc], 0
cmp dword [ebp - 0x23bc], 0x3e
jge 0x40246e
movzx edx, byte [ebp - 0x22c6]
test edx, edx
je 0x40244b
movzx eax, byte [ebp - 0x22c6]
test eax, eax
jne 0x402456
movzx ecx, byte [ebp - 0x22c6]
test ecx, ecx
jne 0x40245d
mov byte [ebp - 0x22c6], 1
mov edx, dword [ebp - 0x23bc]
add edx, 1
mov dword [ebp - 0x23bc], edx
jmp 0x40242c
mov byte [ebp - 0x2364], 0
mov dword [ebp - 0x22d4], 0
mov eax, dword [ebp - 0x22e8]
mov ecx, dword [eax + 0x38]
mov dword [ebp - 0x2448], ecx
cmp dword [ebp - 0x2430], 0
je 0x4024bf
push 0x40
push 0x3000
lea edx, [ebp - 0x2448]
push edx
push 0
lea eax, [ebp - 0x22d4]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [ebp - 0x2430]
test eax, eax
je 0x4024c6
xor eax, eax
jmp 0x403004
mov ecx, dword [ebp - 0x22e8]
mov edx, dword [ecx + 0x3c]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x22d4]
push ecx
call fcn.004fa410
add esp, 0xc
mov edx, dword [ebp - 0x230c]
add edx, 0xf8
mov dword [ebp - 0x2300], edx
xor eax, eax
mov word [ebp - 0x22d0], ax
jmp 0x402512
mov cx, word [ebp - 0x22d0]
add cx, 1
mov word [ebp - 0x22d0], cx
movzx edx, word [ebp - 0x22d0]
mov eax, dword [ebp - 0x230c]
movzx ecx, word [eax + 6]
cmp edx, ecx
jge 0x4028d1
movzx edx, word [ebp - 0x22d0]
imul eax, edx, 0x28
mov ecx, dword [ebp - 0x2300]
mov edx, dword [ebp + 8]
add edx, dword [ecx + eax + 0x14]
mov dword [ebp - 0x2450], edx
movzx eax, word [ebp - 0x22d0]
imul ecx, eax, 0x28
mov edx, dword [ebp - 0x2300]
mov eax, dword [ebp - 0x22d4]
add eax, dword [edx + ecx + 0xc]
mov dword [ebp - 0x2454], eax
movzx ecx, word [ebp - 0x22d0]
imul edx, ecx, 0x28
mov eax, dword [ebp - 0x2300]
mov ecx, dword [eax + edx + 0x10]
mov dword [ebp - 0x244c], ecx
mov edx, dword [ebp - 0x244c]
push edx
mov eax, dword [ebp - 0x2450]
push eax
mov ecx, dword [ebp - 0x2454]
push ecx
call fcn.004fa410
add esp, 0xc
movzx edx, word [ebp - 0x22d0]
imul eax, edx, 0x28
mov ecx, dword [ebp - 0x2300]
mov edx, dword [ecx + eax + 0x24]
mov dword [ebp - 0x2324], edx
mov dword [ebp - 0x22f0], 0
xor eax, eax
mov dword [ebp - 0x2488], 0x3ba
mov dword [ebp - 0x2484], eax
mov dword [ebp - 0x23c0], 0x3a
mov ecx, dword [ebp - 0x23c0]
mov edx, dword [ebp - 0x23c0]
lea eax, [edx + ecx + 0x25dd]
cdq
mov esi, eax
push 0
push 0x1712
mov eax, dword [ebp - 0x2484]
push eax
mov ecx, dword [ebp - 0x2488]
push ecx
call fcn.004f80e0
sub esi, eax
mov eax, dword [ebp - 0x23c0]
cdq
sub esi, eax
add esi, 0x1a18
mov dword [ebp - 0x24b8], esi
mov edx, dword [ebp - 0x2324]
and edx, 0x20000000
je 0x402640
mov dword [ebp - 0x2434], 0x10
jmp 0x40264a
mov dword [ebp - 0x2434], 1
mov eax, dword [ebp - 0x22f0]
or eax, dword [ebp - 0x2434]
mov dword [ebp - 0x22f0], eax
mov ecx, dword [ebp - 0x2324]
and ecx, 0x40000000
je 0x402676
mov dword [ebp - 0x243c], 2
jmp 0x402680
mov dword [ebp - 0x243c], 1
mov edx, dword [ebp - 0x22f0]
or edx, dword [ebp - 0x243c]
mov dword [ebp - 0x22f0], edx
mov eax, dword [ebp - 0x2324]
and eax, 0x80000000
je 0x4026ab
mov dword [ebp - 0x241c], 4
jmp 0x4026b5
mov dword [ebp - 0x241c], 8
mov ecx, dword [ebp - 0x22f0]
or ecx, dword [ebp - 0x241c]
mov dword [ebp - 0x22f0], ecx
mov edx, dword [ebp - 0x2324]
and edx, 0x4000000
je 0x4026e1
mov dword [ebp - 0x2420], 0x200
jmp 0x4026eb
mov dword [ebp - 0x2420], 0
mov eax, dword [ebp - 0x22f0]
or eax, dword [ebp - 0x2420]
mov dword [ebp - 0x22f0], eax
mov ecx, 0x252
mov word [ebp - 0x2368], cx
mov dword [ebp - 0x2424], 0x4a5
mov eax, dword [ebp - 0x2424]
cdq
mov ecx, 0x15a
idiv ecx
mov ecx, eax
add ecx, 0x1050
sub ecx, dword [ebp - 0x2424]
movsx eax, word [ebp - 0x2368]
cdq
mov esi, 0x212a
idiv esi
lea edx, [ecx + eax + 0x138b]
mov dword [ebp - 0x24b0], edx
mov dword [ebp - 0x23fc], 0x4bb
mov dword [ebp - 0x2458], 0xe1
mov ecx, 0x10f8
sub ecx, dword [ebp - 0x2458]
add ecx, 0x10f6
mov eax, dword [ebp - 0x23fc]
cdq
mov esi, 0x80e
idiv esi
sub ecx, eax
mov edx, dword [ebp - 0x23fc]
lea eax, [ecx + edx - 0x1abc]
cdq
mov dword [ebp - 0x24c4], eax
mov dword [ebp - 0x24c0], edx
xor eax, eax
mov dword [ebp - 0x23f8], 0x6b
mov dword [ebp - 0x23f4], eax
xor ecx, ecx
mov dword [ebp - 0x2490], 0x339
mov dword [ebp - 0x248c], ecx
mov esi, 0x193d
sub esi, dword [ebp - 0x23f8]
mov edx, dword [ebp - 0x23f4]
push edx
mov eax, dword [ebp - 0x23f8]
push eax
push 0
push 0xc4e
call fcn.004f80e0
add esi, eax
sub esi, 0xe3f
push 0
push 0x8c
mov ecx, dword [ebp - 0x248c]
push ecx
mov edx, dword [ebp - 0x2490]
push edx
call fcn.004f80e0
add esi, eax
push 0
push 0x1176
mov eax, dword [ebp - 0x23f4]
push eax
mov ecx, dword [ebp - 0x23f8]
push ecx
call fcn.004f80e0
sub esi, eax
mov dword [ebp - 0x24f0], esi
mov edx, 0x166
mov word [ebp - 0x236c], dx
mov dword [ebp - 0x23c4], 0x316
mov ecx, 0x1a79
sub ecx, dword [ebp - 0x23c4]
movsx esi, word [ebp - 0x236c]
mov eax, 0x985
cdq
idiv esi
cdq
mov esi, 0x14d4
idiv esi
cdq
idiv dword [ebp - 0x23c4]
cdq
mov esi, 0x19c9
idiv esi
add ecx, eax
mov eax, dword [ebp - 0x23c4]
cdq
mov esi, 0x275
idiv esi
add ecx, eax
mov dword [ebp - 0x24ac], ecx
lea edx, [ebp - 0x24dc]
push edx
mov eax, dword [ebp - 0x22f0]
push eax
movzx ecx, word [ebp - 0x22d0]
imul edx, ecx, 0x28
mov eax, dword [ebp - 0x2300]
mov ecx, dword [eax + edx + 8]
push ecx
movzx edx, word [ebp - 0x22d0]
imul eax, edx, 0x28
mov ecx, dword [ebp - 0x2300]
mov edx, dword [ebp - 0x22d4]
add edx, dword [ecx + eax + 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
jmp 0x402500
mov dword [ebp - 0x249c], 0x4e8
mov dword [ebp - 0x2400], 0x300
mov eax, 0x250a
cdq
idiv dword [ebp - 0x2400]
cdq
mov ecx, 0xed1
idiv ecx
mov ecx, eax
mov eax, dword [ebp - 0x249c]
cdq
mov esi, 0xfd0
idiv esi
cdq
idiv dword [ebp - 0x2400]
sub ecx, eax
sub ecx, 0x2072
mov dword [ebp - 0x24e0], ecx
mov dword [ebp - 0x2404], 0x343
mov dword [ebp - 0x245c], 0x34e
mov eax, 0x1e93
cdq
idiv dword [ebp - 0x2404]
cdq
mov ecx, 0x89f
idiv ecx
mov ecx, eax
mov eax, dword [ebp - 0x245c]
cdq
mov esi, 0x2637
idiv esi
cdq
idiv dword [ebp - 0x2404]
lea edx, [ecx + eax + 0x2638]
mov dword [ebp - 0x24e4], edx
mov dword [ebp - 0x2460], 0x22a
xor eax, eax
mov dword [ebp - 0x23e8], 0x2ac
mov dword [ebp - 0x23e4], eax
mov ecx, dword [ebp - 0x23e4]
push ecx
mov edx, dword [ebp - 0x23e8]
push edx
push 0
push 0x148d
call fcn.004f80e0
mov esi, eax
mov eax, dword [ebp - 0x23e4]
push eax
mov ecx, dword [ebp - 0x23e8]
push ecx
push 0
push 0x163e
call fcn.004f80e0
add esi, eax
add esi, 0x22ac
push 0
push 0x4ed
mov edx, dword [ebp - 0x23e4]
push edx
mov eax, dword [ebp - 0x23e8]
push eax
call fcn.004f80e0
sub esi, eax
mov eax, dword [ebp - 0x2460]
cdq
sub esi, eax
sub esi, 0x21fd
mov dword [ebp - 0x24e8], esi
mov ecx, 8
shl ecx, 0
mov edx, dword [ebp - 0x22e8]
cmp dword [edx + ecx + 0x64], 0
je 0x402b4f
mov eax, 8
shl eax, 0
mov ecx, dword [ebp - 0x22e8]
mov edx, dword [ebp - 0x22d4]
add edx, dword [ecx + eax + 0x60]
mov dword [ebp - 0x22fc], edx
mov eax, dword [ebp - 0x22fc]
cmp dword [eax + 0xc], 0
je 0x402b4f
mov ecx, dword [ebp - 0x22fc]
mov edx, dword [ebp - 0x22d4]
add edx, dword [ecx + 0xc]
mov dword [ebp - 0x2464], edx
mov eax, dword [ebp - 0x2464]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x240c], eax
cmp dword [ebp - 0x240c], 0
je 0x402b3b
mov ecx, dword [ebp - 0x22fc]
mov edx, dword [ebp - 0x22d4]
add edx, dword [ecx]
mov dword [ebp - 0x22f8], edx
mov eax, dword [ebp - 0x22fc]
mov ecx, dword [ebp - 0x22d4]
add ecx, dword [eax + 0x10]
mov dword [ebp - 0x2358], ecx
mov edx, dword [ebp - 0x22fc]
cmp dword [edx], 0
jne 0x402ab1
mov eax, dword [ebp - 0x2358]
mov dword [ebp - 0x22f8], eax
jmp 0x402ad1
mov ecx, dword [ebp - 0x2358]
add ecx, 4
mov dword [ebp - 0x2358], ecx
mov edx, dword [ebp - 0x22f8]
add edx, 4
mov dword [ebp - 0x22f8], edx
mov eax, dword [ebp - 0x22f8]
cmp dword [eax], 0
je 0x402b3b
mov ecx, dword [ebp - 0x22f8]
mov edx, dword [ecx]
and edx, 0x80000000
je 0x402b02
mov eax, dword [ebp - 0x22f8]
mov ecx, dword [eax]
and ecx, 0xffff
mov dword [ebp - 0x2408], ecx
jmp 0x402b1a
mov edx, dword [ebp - 0x22f8]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x22d4]
lea edx, [ecx + eax + 2]
mov dword [ebp - 0x2408], edx
mov eax, dword [ebp - 0x2408]
push eax
mov ecx, dword [ebp - 0x240c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [ebp - 0x2358]
mov dword [edx], eax
jmp 0x402ab3
mov eax, dword [ebp - 0x22fc]
add eax, 0x14
mov dword [ebp - 0x22fc], eax
jmp 0x402a2c
mov dword [ebp - 0x232c], 0x160
mov dword [ebp - 0x24ec], 0x512
mov eax, 0x7ab
cdq
idiv dword [ebp - 0x232c]
mov ecx, eax
add ecx, 0x1532
sub ecx, dword [ebp - 0x232c]
mov eax, 0xd45
cdq
idiv dword [ebp - 0x232c]
add ecx, dword [ebp - 0x232c]
lea edx, [eax + ecx - 0x957]
mov dword [ebp - 0x24f4], edx
mov dword [ebp - 0x24bc], 0xd3
mov dword [ebp - 0x23c8], 0x3e
mov eax, dword [ebp - 0x23c8]
cdq
mov ecx, 0x1bad
idiv ecx
mov edx, dword [ebp - 0x23c8]
lea ecx, [eax + edx + 0x5b3]
mov eax, dword [ebp - 0x23c8]
cdq
mov esi, 0x1ab2
idiv esi
sub ecx, eax
mov eax, ecx
cdq
mov dword [ebp - 0x24cc], eax
mov dword [ebp - 0x24c8], edx
mov dword [ebp - 0x23cc], 0x43a
mov dword [ebp - 0x2468], 0x41b
mov eax, 0x3fd
cdq
idiv dword [ebp - 0x23cc]
mov ecx, eax
add ecx, 0xb40
mov eax, dword [ebp - 0x2468]
cdq
mov esi, 0x1591
idiv esi
sub ecx, eax
mov eax, dword [ebp - 0x23cc]
cdq
mov esi, 0x222c
idiv esi
sub ecx, eax
mov edx, dword [ebp - 0x23cc]
lea eax, [ecx + edx - 0x1c1a]
cdq
mov dword [ebp - 0x24d4], eax
mov dword [ebp - 0x24d0], edx
mov eax, dword [ebp - 0x23d0]
mov ecx, dword [ebp - 0x22d4]
add ecx, dword [eax]
mov dword [ebp - 0x246c], ecx
mov edx, dword [ebp - 0x246c]
mov dword [ebp - 0x22ec], edx
mov eax, dword [ebp - 0x22e8]
mov ecx, dword [ebp - 0x22d4]
sub ecx, dword [eax + 0x1c]
mov dword [ebp - 0x2474], ecx
mov edx, dword [ebp - 0x23d0]
mov eax, dword [ebp - 0x22ec]
add eax, dword [edx + 4]
mov dword [ebp - 0x2470], eax
mov ecx, dword [ebp - 0x22ec]
cmp ecx, dword [ebp - 0x2470]
jae 0x402d7a
mov edx, dword [ebp - 0x22ec]
cmp dword [edx], 0
je 0x402d7a
mov eax, dword [ebp - 0x22ec]
mov ecx, dword [eax + 4]
sub ecx, 8
shr ecx, 1
mov dword [ebp - 0x23d4], ecx
mov edx, dword [ebp - 0x22ec]
add edx, 8
mov dword [ebp - 0x2310], edx
mov eax, dword [ebp - 0x22ec]
mov ecx, dword [ebp - 0x22d4]
add ecx, dword [eax]
mov dword [ebp - 0x2410], ecx
jmp 0x402d0e
mov edx, dword [ebp - 0x2310]
add edx, 2
mov dword [ebp - 0x2310], edx
mov eax, dword [ebp - 0x23d4]
sub eax, 1
mov dword [ebp - 0x23d4], eax
cmp dword [ebp - 0x23d4], 0
je 0x402d60
mov ecx, dword [ebp - 0x2310]
movzx edx, word [ecx]
sar edx, 0xc
cmp edx, 3
jne 0x402d5e
mov eax, dword [ebp - 0x2310]
movzx ecx, word [eax]
and ecx, 0xfff
mov edx, dword [ebp - 0x2410]
mov eax, dword [edx + ecx]
add eax, dword [ebp - 0x2474]
mov ecx, dword [ebp - 0x2310]
movzx edx, word [ecx]
and edx, 0xfff
mov ecx, dword [ebp - 0x2410]
mov dword [ecx + edx], eax
jmp 0x402cf0
mov edx, dword [ebp - 0x22ec]
mov eax, dword [ebp - 0x22ec]
add eax, dword [edx + 4]
mov dword [ebp - 0x22ec], eax
jmp 0x402c96
lea ecx, [ebp - 0x24d8]
push ecx
push 2
mov edx, dword [ebp - 0x230c]
mov eax, dword [edx + 0x54]
push eax
mov ecx, dword [ebp - 0x22d4]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov dword [ebp - 0x2478], 0x386
mov dword [ebp - 0x23d8], 0x503
mov eax, 0xc4d
cdq
idiv dword [ebp - 0x23d8]
mov ecx, eax
add ecx, 0x15ad
sub ecx, dword [ebp - 0x23d8]
sub ecx, 0x8c0
sub ecx, dword [ebp - 0x23d8]
mov eax, 0xe6
cdq
idiv dword [ebp - 0x2478]
cdq
mov esi, 0x121
idiv esi
sub ecx, eax
mov dword [ebp - 0x24a0], ecx
mov dword [ebp - 0x247c], 0x3da
mov dword [ebp - 0x2414], 0x77
mov ecx, 0x208a
sub ecx, dword [ebp - 0x247c]
mov eax, dword [ebp - 0x2414]
cdq
mov esi, 0x19e1
idiv esi
lea edx, [ecx + eax + 0x67]
sub edx, dword [ebp - 0x2414]
sub edx, 0x19a3
mov dword [ebp - 0x24a4], edx
xor eax, eax
mov dword [ebp - 0x2498], 0x480
mov dword [ebp - 0x2494], eax
mov dword [ebp - 0x23dc], 0x1a8
mov eax, dword [ebp - 0x23dc]
cdq
mov ecx, 0x20e9
idiv ecx
mov edx, 0x188b
sub edx, eax
sub edx, dword [ebp - 0x23dc]
mov eax, edx
cdq
mov esi, eax
mov eax, dword [ebp - 0x2494]
push eax
mov ecx, dword [ebp - 0x2498]
push ecx
push 0
push 0xb60
call fcn.004f80e0
add esi, eax
mov eax, 0x2566
cdq
idiv dword [ebp - 0x23dc]
cdq
mov ecx, 0xc86
idiv ecx
cdq
add esi, eax
mov dword [ebp - 0x24a8], esi
mov edx, 8
imul eax, edx, 9
mov ecx, dword [ebp - 0x22e8]
cmp dword [ecx + eax + 0x64], 0
je 0x402f26
mov edx, 8
imul eax, edx, 9
mov ecx, dword [ebp - 0x22e8]
mov edx, dword [ebp - 0x22d4]
add edx, dword [ecx + eax + 0x60]
mov dword [ebp - 0x2480], edx
mov eax, dword [ebp - 0x2480]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x2308], ecx
jmp 0x402efb
mov edx, dword [ebp - 0x2308]
add edx, 4
mov dword [ebp - 0x2308], edx
cmp dword [ebp - 0x2308], 0
je 0x402f26
mov eax, dword [ebp - 0x2308]
cmp dword [eax], 0
je 0x402f26
push 0
push 1
mov ecx, dword [ebp - 0x22d4]
push ecx
mov edx, dword [ebp - 0x2308]
mov eax, dword [edx]
call eax
jmp 0x402eec
lea ecx, [ebp - 0x228c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
movzx edx, word [ebp - 0x2284]
movzx eax, word [ebp - 0x2282]
cmp edx, eax
jge 0x402f51
mov dword [ebp - 0x2418], 1
jmp 0x402f5b
mov dword [ebp - 0x2418], 0
movzx ecx, word [ebp - 0x2280]
cmp dword [ebp - 0x2418], ecx
jge 0x402ff3
mov dword [ebp - 0x2c], 0x775b
mov dword [ebp - 0x28], 0xac4d
mov dword [ebp - 0x24], 0x75c2
mov dword [ebp - 0x20], 0x8eb2
mov dword [ebp - 0x1c], 0x6c1b
mov dword [ebp - 0x18], 0x15763
mov dword [ebp - 0x14], 0xf1fc
mov dword [ebp - 0x10], 0xe7d5
mov dword [ebp - 0xc], 0x5804
mov dword [ebp - 8], 0x61b3
mov dword [ebp - 0x2304], 0
jmp 0x402fcf
mov edx, dword [ebp - 0x2304]
add edx, 1
mov dword [ebp - 0x2304], edx
cmp dword [ebp - 0x2304], 0xa
jae 0x402ff3
mov eax, 0xa
sub eax, dword [ebp - 0x2304]
mov ecx, dword [ebp - 0x2304]
mov edx, dword [ebp + eax*4 - 0x2c]
mov dword [ebp + ecx*4 - 0x2c], edx
jmp 0x402fc0
mov eax, dword [ebp - 0x22e8]
mov ecx, dword [ebp - 0x22d4]
add ecx, dword [eax + 0x10]
mov eax, ecx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004f80d2
mov esp, ebp
pop ebp
ret