Function at 0x1004c190
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x708
push esi
lea ecx, [ebp - 0x6c]
call fcn.1003a3c0
lea ecx, [ebp - 0x90]
call fcn.1003a3c0
lea ecx, [ebp - 0xc0]
call fcn.1003a3c0
lea ecx, [ebp - 0xa8]
call fcn.1003a3c0
lea ecx, [ebp - 0x78]
call fcn.1003a4b0
lea ecx, [ebp - 0x20]
call fcn.1003a4b0
lea ecx, [ebp - 0x90]
call fcn.1003d940
cmp eax, 0x26
jae 0x1004c276
push 0x100690a8
lea eax, [ebp - 0x6c]
push eax
push 0x100690a8
push 0x100691c8
push 0x10069150
lea ecx, [ebp - 0x120]
push ecx
call fcn.1003c340
add esp, 0xc
push eax
lea edx, [ebp - 0x108]
push edx
call fcn.1003d9a0
add esp, 0xc
push eax
lea eax, [ebp - 0xf0]
push eax
call fcn.1003d9a0
add esp, 0xc
push eax
lea ecx, [ebp - 0xd8]
push ecx
call fcn.1003d9a0
add esp, 0xc
push eax
lea ecx, [ebp - 0x90]
call fcn.1003e650
lea ecx, [ebp - 0xd8]
call fcn.1003a6f0
lea ecx, [ebp - 0xf0]
call fcn.1003a6f0
lea ecx, [ebp - 0x108]
call fcn.1003a6f0
lea ecx, [ebp - 0x120]
call fcn.1003a6f0
mov edx, dword [0x10001b38]
sub edx, dword [0x10001b14]
je 0x1004c37d
push 0x24
push 0
lea eax, [ebp - 0x198]
push eax
mov ecx, 0x10069150
call fcn.10041c40
mov dword [ebp - 0x24], eax
push 0x4a
push 0
lea ecx, [ebp - 0x180]
push ecx
mov ecx, dword [ebp - 0x24]
call fcn.10041c40
mov ecx, eax
call fcn.1003d470
mov dword [ebp - 8], eax
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 8]
mov cl, byte [eax]
mov byte [ebp - 1], cl
add dword [ebp - 8], 1
cmp byte [ebp - 1], 0
jne 0x1004c2c6
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 0x28]
mov dword [ebp - 0x38], edx
push 0x1002e374
lea ecx, [ebp - 0x168]
call fcn.1003a330
mov dword [ebp - 0x2c], eax
push 0x39
push 0
lea eax, [ebp - 0x150]
push eax
mov ecx, dword [ebp - 0x2c]
call fcn.10041c40
mov ecx, eax
call fcn.1003d470
mov dword [ebp - 0x30], eax
push 0x1002e380
lea ecx, [ebp - 0x138]
call fcn.1003a330
mov ecx, eax
call fcn.1003d470
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x30]
push ecx
mov edx, dword [ebp - 0x34]
push edx
call fcn.1005b195
add esp, 8
mov ecx, dword [ebp - 0x38]
sub ecx, eax
add ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x138]
call fcn.1003a6f0
lea ecx, [ebp - 0x150]
call fcn.1003a6f0
lea ecx, [ebp - 0x168]
call fcn.1003a6f0
lea ecx, [ebp - 0x180]
call fcn.1003a6f0
lea ecx, [ebp - 0x198]
call fcn.1003a6f0
mov ecx, 0x10069168
call fcn.1003d940
cmp eax, 0x7f
jae 0x1004c3db
push 0x100690f0
push 0x10069090
push 0x100691b0
lea edx, [ebp - 0x1c8]
push edx
call fcn.1003c340
add esp, 0xc
push eax
lea eax, [ebp - 0x1b0]
push eax
call fcn.1003d9a0
add esp, 0xc
push eax
mov ecx, 0x10069168
call fcn.1003e650
lea ecx, [ebp - 0x1b0]
call fcn.1003a6f0
lea ecx, [ebp - 0x1c8]
call fcn.1003a6f0
mov dword [ebp - 0xc], 0
jmp 0x1004c3ed
mov ecx, dword [ebp - 0xc]
add ecx, 1
mov dword [ebp - 0xc], ecx
mov ecx, 0x100010d4
call fcn.10041c10
cmp dword [ebp - 0xc], eax
jae 0x1004c5d0
push 0x1002e388
lea ecx, [ebp - 0x360]
call fcn.1003a330
push 0x1002e3b0
lea ecx, [ebp - 0x348]
call fcn.1003a330
push 0x1002e3d8
lea ecx, [ebp - 0x330]
call fcn.1003a330
push 0x1002e3f8
lea ecx, [ebp - 0x318]
call fcn.1003a330
push 0x1002e404
lea ecx, [ebp - 0x300]
call fcn.1003a330
push 0x1002e410
lea ecx, [ebp - 0x2e8]
call fcn.1003a330
push 0x1002e434
lea ecx, [ebp - 0x2d0]
call fcn.1003a330
push 0x1002e45c
lea ecx, [ebp - 0x2b8]
call fcn.1003a330
push 0x1002e47c
lea ecx, [ebp - 0x2a0]
call fcn.1003a330
push 0x1002e488
lea ecx, [ebp - 0x288]
call fcn.1003a330
push 0x1002e494
lea ecx, [ebp - 0x270]
call fcn.1003a330
push 0x1002e4a0
lea ecx, [ebp - 0x258]
call fcn.1003a330
push 0x1002e4b0
lea ecx, [ebp - 0x240]
call fcn.1003a330
push 0x1002e4c8
lea ecx, [ebp - 0x228]
call fcn.1003a330
push 0x1002e4e8
lea ecx, [ebp - 0x210]
call fcn.1003a330
push 0x1002e4f4
lea ecx, [ebp - 0x1f8]
call fcn.1003a330
push 0x1002e514
lea ecx, [ebp - 0x1e0]
call fcn.1003a330
lea ecx, [ebp - 0x1e0]
call fcn.1003a6f0
lea ecx, [ebp - 0x1f8]
call fcn.1003a6f0
lea ecx, [ebp - 0x210]
call fcn.1003a6f0
lea ecx, [ebp - 0x228]
call fcn.1003a6f0
lea ecx, [ebp - 0x240]
call fcn.1003a6f0
lea ecx, [ebp - 0x258]
call fcn.1003a6f0
lea ecx, [ebp - 0x270]
call fcn.1003a6f0
lea ecx, [ebp - 0x288]
call fcn.1003a6f0
lea ecx, [ebp - 0x2a0]
call fcn.1003a6f0
lea ecx, [ebp - 0x2b8]
call fcn.1003a6f0
lea ecx, [ebp - 0x2d0]
call fcn.1003a6f0
lea ecx, [ebp - 0x2e8]
call fcn.1003a6f0
lea ecx, [ebp - 0x300]
call fcn.1003a6f0
lea ecx, [ebp - 0x318]
call fcn.1003a6f0
lea ecx, [ebp - 0x330]
call fcn.1003a6f0
lea ecx, [ebp - 0x348]
call fcn.1003a6f0
lea ecx, [ebp - 0x360]
call fcn.1003a6f0
jmp 0x1004c3e4
mov ecx, 0x10069120
call fcn.1003d940
cmp eax, 0x61
jae 0x1004c62f
lea edx, [ebp - 0x6c]
push edx
push 0x100690a8
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x390]
push ecx
call fcn.1003c340
add esp, 0xc
push eax
lea edx, [ebp - 0x378]
push edx
call fcn.1003d9a0
add esp, 0xc
push eax
mov ecx, 0x10069120
call fcn.1003e650
lea ecx, [ebp - 0x378]
call fcn.1003a6f0
lea ecx, [ebp - 0x390]
call fcn.1003a6f0
push 0x10069120
lea eax, [ebp - 0xa8]
push eax
call fcn.1003d980
add esp, 8
movzx ecx, al
test ecx, ecx
jne 0x1004c653
mov dword [ebp - 0x14], 1
jmp 0x1004c65a
mov dword [ebp - 0x14], 0
mov edx, dword [0x10001b2c]
sub edx, dword [0x10001b1c]
cmp edx, dword [ebp - 0x14]
jle 0x1004c6a9
mov ecx, 0x100691b0
call fcn.1003d940
cmp eax, 0x5c
jae 0x1004c6a9
push 0x10069120
push 0x100690f0
lea eax, [ebp - 0x3a8]
push eax
call fcn.1003c340
add esp, 0xc
push eax
mov ecx, 0x100691b0
call fcn.1003e650
lea ecx, [ebp - 0x3a8]
call fcn.1003a6f0
mov ecx, 0x10069120
call fcn.1003d940
cmp eax, 0xbb
jae 0x1004c74c
push 0x100691b0
push 0x10069198
push 0x100690c0
lea ecx, [ebp - 0x6c]
push ecx
push 0x100690c0
lea edx, [ebp - 0x408]
push edx
call fcn.1003c340
add esp, 0xc
push eax
lea eax, [ebp - 0x3f0]
push eax
call fcn.1003d9a0
add esp, 0xc
push eax
lea ecx, [ebp - 0x3d8]
push ecx
call fcn.1003d9a0
add esp, 0xc
push eax
lea edx, [ebp - 0x3c0]
push edx
call fcn.1003d9a0
add esp, 0xc
push eax
mov ecx, 0x10069120
call fcn.1003e650
lea ecx, [ebp - 0x3c0]
call fcn.1003a6f0
lea ecx, [ebp - 0x3d8]
call fcn.1003a6f0
lea ecx, [ebp - 0x3f0]
call fcn.1003a6f0
lea ecx, [ebp - 0x408]
call fcn.1003a6f0
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x20]
call fcn.1003c2b0
mov ecx, dword [0x10001b40]
mov dword [0x10001b10], ecx
mov dword [ebp - 0x10], 0
jmp 0x1004c776
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
lea ecx, [ebp - 0x20]
call fcn.10041c10
cmp dword [ebp - 0x10], eax
jae 0x1004caec
push 0x1002e524
lea ecx, [ebp - 0x708]
call fcn.1003a330
push 0x1002e52c
lea ecx, [ebp - 0x6f0]
call fcn.1003a330
push 0x1002e544
lea ecx, [ebp - 0x6d8]
call fcn.1003a330
push 0x1002e550
lea ecx, [ebp - 0x6c0]
call fcn.1003a330
push 0x1002e578
lea ecx, [ebp - 0x6a8]
call fcn.1003a330
push 0x1002e598
lea ecx, [ebp - 0x690]
call fcn.1003a330
push 0x1002e5a4
lea ecx, [ebp - 0x678]
call fcn.1003a330
push 0x1002e5c4
lea ecx, [ebp - 0x660]
call fcn.1003a330
push 0x1002e5ec
lea ecx, [ebp - 0x648]
call fcn.1003a330
push 0x1002e5f0
lea ecx, [ebp - 0x630]
call fcn.1003a330
push 0x1002e5fc
lea ecx, [ebp - 0x618]
call fcn.1003a330
push 0x1002e604
lea ecx, [ebp - 0x600]
call fcn.1003a330
push 0x1002e618
lea ecx, [ebp - 0x5e8]
call fcn.1003a330
push 0x1002e630
lea ecx, [ebp - 0x5d0]
call fcn.1003a330
push 0x1002e63c
lea ecx, [ebp - 0x5b8]
call fcn.1003a330
push 0x1002e654
lea ecx, [ebp - 0x5a0]
call fcn.1003a330
push 0x1002e670
lea ecx, [ebp - 0x588]
call fcn.1003a330
push 0x1002e698
lea ecx, [ebp - 0x570]
call fcn.1003a330
push 0x1002e6b0
lea ecx, [ebp - 0x558]
call fcn.1003a330
push 0x1002e6d8
lea ecx, [ebp - 0x540]
call fcn.1003a330
push 0x1002e6e0
lea ecx, [ebp - 0x528]
call fcn.1003a330
push 0x1002e6fc
lea ecx, [ebp - 0x510]
call fcn.1003a330
push 0x1002e714
lea ecx, [ebp - 0x4f8]
call fcn.1003a330
push 0x1002e720
lea ecx, [ebp - 0x4e0]
call fcn.1003a330
push 0x1002e72c
lea ecx, [ebp - 0x4c8]
call fcn.1003a330
push 0x1002e738
lea ecx, [ebp - 0x4b0]
call fcn.1003a330
push 0x1002e73c
lea ecx, [ebp - 0x498]
call fcn.1003a330
push 0x1002e754
lea ecx, [ebp - 0x480]
call fcn.1003a330
push 0x1002e768
lea ecx, [ebp - 0x468]
call fcn.1003a330
push 0x1002e77c
lea ecx, [ebp - 0x450]
call fcn.1003a330
push 0x1002e79c
lea ecx, [ebp - 0x438]
call fcn.1003a330
push 0x1002e7b0
lea ecx, [ebp - 0x420]
call fcn.1003a330
lea ecx, [ebp - 0x420]
call fcn.1003a6f0
lea ecx, [ebp - 0x438]
call fcn.1003a6f0
lea ecx, [ebp - 0x450]
call fcn.1003a6f0
lea ecx, [ebp - 0x468]
call fcn.1003a6f0
lea ecx, [ebp - 0x480]
call fcn.1003a6f0
lea ecx, [ebp - 0x498]
call fcn.1003a6f0
lea ecx, [ebp - 0x4b0]
call fcn.1003a6f0
lea ecx, [ebp - 0x4c8]
call fcn.1003a6f0
lea ecx, [ebp - 0x4e0]
call fcn.1003a6f0
lea ecx, [ebp - 0x4f8]
call fcn.1003a6f0
lea ecx, [ebp - 0x510]
call fcn.1003a6f0
lea ecx, [ebp - 0x528]
call fcn.1003a6f0
lea ecx, [ebp - 0x540]
call fcn.1003a6f0
lea ecx, [ebp - 0x558]
call fcn.1003a6f0
lea ecx, [ebp - 0x570]
call fcn.1003a6f0
lea ecx, [ebp - 0x588]
call fcn.1003a6f0
lea ecx, [ebp - 0x5a0]
call fcn.1003a6f0
lea ecx, [ebp - 0x5b8]
call fcn.1003a6f0
lea ecx, [ebp - 0x5d0]
call fcn.1003a6f0
lea ecx, [ebp - 0x5e8]
call fcn.1003a6f0
lea ecx, [ebp - 0x600]
call fcn.1003a6f0
lea ecx, [ebp - 0x618]
call fcn.1003a6f0
lea ecx, [ebp - 0x630]
call fcn.1003a6f0
lea ecx, [ebp - 0x648]
call fcn.1003a6f0
lea ecx, [ebp - 0x660]
call fcn.1003a6f0
lea ecx, [ebp - 0x678]
call fcn.1003a6f0
lea ecx, [ebp - 0x690]
call fcn.1003a6f0
lea ecx, [ebp - 0x6a8]
call fcn.1003a6f0
lea ecx, [ebp - 0x6c0]
call fcn.1003a6f0
lea ecx, [ebp - 0x6d8]
call fcn.1003a6f0
lea ecx, [ebp - 0x6f0]
call fcn.1003a6f0
lea ecx, [ebp - 0x708]
call fcn.1003a6f0
jmp 0x1004c76d
mov eax, 0x8d
cdq
mov esi, eax
xor esi, edx
sub esi, edx
push 0x1002e7d0
call fcn.1005a91a
add esp, 4
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
cvttsd2si eax, xmm0
xor esi, eax
mov dword [0x10001b30], esi
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov esi, eax
movsd xmm0, qword [0x10030f80]
call fcn.1005b250
cvttsd2si ecx, xmm0
sub esi, ecx
push 0x112
call fcn.100573a0
add esp, 4
sub esi, eax
mov dword [0x10001b40], esi
call fcn.10057709
mov esi, eax
push 0x1002e7e0
call fcn.1005af8b
add esp, 4
add esi, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
add esi, eax
mov dword [ebp - 0x44], esi
mov edx, dword [0x10001b24]
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x44]
mov dword [0x10001b24], eax
lea ecx, [ebp - 0x20]
call fcn.1003d490
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x20]
call fcn.1003e690
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x48], edx
lea ecx, [ebp - 0x20]
call fcn.1003a750
lea ecx, [ebp - 0x78]
call fcn.1003a750
lea ecx, [ebp - 0xa8]
call fcn.1003a6f0
lea ecx, [ebp - 0xc0]
call fcn.1003a6f0
lea ecx, [ebp - 0x90]
call fcn.1003a6f0
lea ecx, [ebp - 0x6c]
call fcn.1003a6f0
mov eax, dword [ebp - 0x48]
pop esi
mov esp, ebp
pop ebp
ret