Function at 0x416a60
Capabilities:
Contain obfuscated stackstrings
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4752f6
mov eax, dword fs:[0]
push eax
sub esp, 0x370
mov eax, dword [0x48c0d0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x308], eax
mov al, 0x74
mov byte [ebp - 0x24], al
mov byte [ebp - 0x22], al
mov al, 0x6e
xor ebx, ebx
mov byte [ebp - 0x1e], al
mov byte [ebp - 0x18], al
mov edi, 0xf
lea eax, [ebp - 0x2c]
mov byte [ebp - 0x2c], 0x6c
mov byte [ebp - 0x2b], 0x7e
mov byte [ebp - 0x2a], 0x61
mov byte [ebp - 0x29], 0x40
mov byte [ebp - 0x28], 0x6d
mov byte [ebp - 0x27], 0x23
mov byte [ebp - 0x26], 0x62
mov byte [ebp - 0x25], 0x25
mov byte [ebp - 0x23], 0x24
mov byte [ebp - 0x21], 0x5e
mov byte [ebp - 0x20], 0x75
mov byte [ebp - 0x1f], 0x2a
mov byte [ebp - 0x1d], 0x28
mov byte [ebp - 0x1c], 0x69
mov byte [ebp - 0x1b], 0x29
mov byte [ebp - 0x1a], 0x6f
mov byte [ebp - 0x19], 0x25
mov byte [ebp - 0x17], bl
mov dword [ebp - 0xa0], edi
mov dword [ebp - 0xa4], ebx
mov byte [ebp - 0xb4], bl
lea esi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x416b10
sub eax, esi
push eax
lea ecx, [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0xb8]
call fcn.00403880
lea edx, [ebp - 0x254]
push edx
lea ecx, [ebp - 0xb8]
mov dword [ebp - 4], ebx
call fcn.00404280
mov byte [ebp - 4], 2
cmp dword [ebp - 0xa0], 0x10
jb 0x416b5a
mov eax, dword [ebp - 0xb4]
push eax
call fcn.00457a6e
add esp, 4
push ebx
push 0x80
push 3
push ebx
push 1
push SysReAllocString
push 0x480ba4
mov dword [ebp - 0xa0], edi
mov dword [ebp - 0xa4], ebx
mov byte [ebp - 0xb4], bl
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, eax
cmp edi, 0xffffffff
je 0x4178a5
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x2e8], eax
cmp eax, 0xffffffff
je 0x4178a5
push 0x13d
push str..downloadDownloadManager.cpp
inc eax
push 4
push eax
mov dword [ebp - 0x358], ebx
call fcn.00458a95
mov ecx, dword [ebp - 0x2e8]
mov esi, eax
add esp, 0x10
mov byte [esi + ecx], bl
cmp esi, ebx
je 0x4178a5
mov eax, ecx
inc eax
push eax
push ebx
push esi
call fcn.00459f00
mov eax, dword [ebp - 0x2e8]
add esp, 0xc
push ebx
lea edx, [ebp - 0x358]
push edx
push eax
push esi
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push edi
test eax, eax
jne 0x416c16
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call fcn.0045809d
add esp, 4
jmp 0x4178a5
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
lea ecx, [ebp - 0x37c]
call fcn.00403990
push 1
lea ecx, [ebp - 0x254]
push ecx
lea edx, [ebp - 0x37c]
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 3
call fcn.00404440
lea ecx, [ebp - 0x37c]
mov byte [ebp - 4], 5
call fcn.00404250
push esi
call fcn.0045809d
add esp, 4
push ebx
lea ecx, [ebp - 0x354]
call fcn.00420860
lea ecx, [ebp - 0x310]
mov byte [ebp - 4], 6
call fcn.004253a0
lea edx, [ebp - 0x310]
push edx
lea ecx, [ebp - 0x2e4]
call fcn.004256a0
push 1
lea eax, [ebp - 0x354]
push eax
lea ecx, [ebp - 0xf0]
push ecx
lea ecx, [ebp - 0x2e4]
mov byte [ebp - 4], 7
call fcn.00425730
cmp al, bl
jne 0x416cd8
lea edi, [ebp - 0x2e4]
call fcn.004178e0
lea ecx, [ebp - 0x354]
mov byte [ebp - 4], 5
call fcn.00420e10
lea ecx, [ebp - 0xf0]
call fcn.00404250
jmp 0x4178a5
push str.downloadlist
lea ecx, [ebp - 0x354]
call fcn.00421b80
mov ecx, eax
call fcn.00422060
test al, al
je 0x41732e
push str.downloadlist
lea ecx, [ebp - 0x354]
call fcn.00421b80
push eax
lea ecx, [ebp - 0x344]
call fcn.00420b70
lea ecx, [ebp - 0x344]
call fcn.004217d0
cmp eax, ebx
mov dword [ebp - 0x314], eax
mov dword [ebp - 0x300], ebx
jle 0x41731f
mov esi, 0xf
xor edi, edi
mov dword [ebp - 0x30c], ebx
mov dword [ebp - 0x2e8], ebx
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x88], ebx
mov byte [ebp - 0x98], bl
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x34], ebx
mov byte [ebp - 0x44], bl
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x50], ebx
mov byte [ebp - 0x60], bl
mov dword [ebp - 0xa0], esi
mov dword [ebp - 0xa4], ebx
mov byte [ebp - 0xb4], bl
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x6c], ebx
mov byte [ebp - 0x7c], bl
mov dword [ebp - 0x170], esi
mov dword [ebp - 0x174], ebx
mov byte [ebp - 0x184], bl
mov dword [ebp - 0xbc], esi
mov dword [ebp - 0xc0], ebx
mov byte [ebp - 0xd0], bl
mov edx, dword [ebp - 0x300]
push edx
lea ecx, [ebp - 0x344]
mov byte [ebp - 4], 0xf
call fcn.004218d0
push eax
lea ecx, [ebp - 0x2fc]
call fcn.00420b70
lea ecx, [ebp - 0x2fc]
mov byte [ebp - 4], 0x10
call fcn.004220b0
test al, al
je 0x417109
push 0x481114
lea ecx, [ebp - 0x2fc]
call fcn.00421b80
mov ecx, eax
call fcn.00422040
test al, al
je 0x416e3c
lea eax, [ebp - 0x330]
push eax
push 0x481114
lea ecx, [ebp - 0x2fc]
call fcn.00421b80
mov ecx, eax
call fcn.00421050
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x11
call fcn.00403e10
lea ecx, [ebp - 0x330]
mov byte [ebp - 4], 0x10
call fcn.00404250
push str.utype
lea ecx, [ebp - 0x2fc]
call fcn.00421b80
mov ecx, eax
call fcn.00422010
test al, al
je 0x416e70
push str.utype
lea ecx, [ebp - 0x2fc]
call fcn.00421b80
mov ecx, eax
call fcn.004211f0
mov edi, eax
push str.downloadPath
lea ecx, [ebp - 0x2fc]
call fcn.00421b80
mov ecx, eax
call fcn.00422040
test al, al
je 0x416ec8
lea ecx, [ebp - 0x330]
push ecx
push str.downloadPath
lea ecx, [ebp - 0x2fc]
call fcn.00421b80
mov ecx, eax
call fcn.00421050
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x12
call fcn.00403e10
lea ecx, [ebp - 0x330]
mov byte [ebp - 4], 0x10
call fcn.00404250
push str.copyPath
lea ecx, [ebp - 0x2fc]
call fcn.00421b80
mov ecx, eax
call fcn.00422040
test al, al
je 0x416f20
lea edx, [ebp - 0x330]
push edx
push str.copyPath
lea ecx, [ebp - 0x2fc]
call fcn.00421b80
mov ecx, eax
call fcn.00421050
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x13
call fcn.00403e10
lea ecx, [ebp - 0x330]
mov byte [ebp - 4], 0x10
call fcn.00404250
push str.fileName
lea ecx, [ebp - 0x2fc]
call fcn.00421b80
mov ecx, eax
call fcn.00422040
test al, al
je 0x416f7b
lea eax, [ebp - 0x330]
push eax
push str.fileName
lea ecx, [ebp - 0x2fc]
call fcn.00421b80
mov ecx, eax
call fcn.00421050
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x14
call fcn.00403e10
lea ecx, [ebp - 0x330]
mov byte [ebp - 4], 0x10
call fcn.00404250
push str.version
lea ecx, [ebp - 0x2fc]
call fcn.00421b80
mov ecx, eax
call fcn.00422040
test al, al
je 0x416fd3
lea ecx, [ebp - 0x330]
push ecx
push str.version
lea ecx, [ebp - 0x2fc]
call fcn.00421b80
mov ecx, eax
call fcn.00421050
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x15
call fcn.00403e10
lea ecx, [ebp - 0x330]
mov byte [ebp - 4], 0x10
call fcn.00404250
push str.listName
lea ecx, [ebp - 0x2fc]
call fcn.00421b80
mov ecx, eax
call fcn.00422040
test al, al
je 0x41702e
lea edx, [ebp - 0x330]
push edx
push str.listName
lea ecx, [ebp - 0x2fc]
call fcn.00421b80
mov ecx, eax
call fcn.00421050
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x188]
mov byte [ebp - 4], 0x16
call fcn.00403e10
lea ecx, [ebp - 0x330]
mov byte [ebp - 4], 0x10
call fcn.00404250
push str.cfgFile
lea ecx, [ebp - 0x2fc]
call fcn.00421b80
mov ecx, eax
call fcn.00422040
test al, al
je 0x417089
lea eax, [ebp - 0x330]
push eax
push str.cfgFile
lea ecx, [ebp - 0x2fc]
call fcn.00421b80
mov ecx, eax
call fcn.00421050
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x17
call fcn.00403e10
lea ecx, [ebp - 0x330]
mov byte [ebp - 4], 0x10
call fcn.00404250
push str.percent
lea ecx, [ebp - 0x2fc]
call fcn.00421b80
mov ecx, eax
call fcn.00421880
test al, al
jne 0x4170c3
push str.percent
lea ecx, [ebp - 0x2fc]
call fcn.00421b80
mov ecx, eax
call fcn.004213d0
mov dword [ebp - 0x30c], eax
jmp 0x4170c9
mov dword [ebp - 0x30c], ebx
push str.fileLength
lea ecx, [ebp - 0x2fc]
call fcn.00421b80
mov ecx, eax
call fcn.00421880
test al, al
jne 0x417103
push str.fileLength
lea ecx, [ebp - 0x2fc]
call fcn.00421b80
mov ecx, eax
call fcn.004213d0
mov dword [ebp - 0x2e8], eax
jmp 0x417109
mov dword [ebp - 0x2e8], ebx
mov dword [ebp - 0x124], esi
mov dword [ebp - 0x128], ebx
mov byte [ebp - 0x138], bl
mov dword [ebp - 0x104], esi
mov dword [ebp - 0x108], ebx
mov byte [ebp - 0x118], bl
push 0xffffffffffffffff
push ebx
lea ecx, [ebp - 0xb8]
push ecx
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 0x18
call fcn.00403e10
push 0xffffffffffffffff
push ebx
lea edx, [ebp - 0x9c]
push edx
lea ecx, [ebp - 0x13c]
call fcn.00403e10
cmp dword [ebp - 0x68], 0x10
mov word [ebp - 0x120], di
jb 0x417177
mov edi, dword [ebp - 0x7c]
cmp edi, ebx
jne 0x41717a
mov dword [ebp - 0x304], ebx
jmp 0x4171b1
lea edi, [ebp - 0x7c]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov esi, eax
inc esi
cmp esi, 0x3fffffff
jle 0x417194
mov dword [ebp - 0x304], ebx
jmp 0x4171b1
lea eax, [esi + esi]
call fcn.0045dfe0
mov ecx, esp
mov edx, esi
push 3
mov eax, edi
mov esi, ecx
call fcn.004151d0
mov dword [ebp - 0x304], eax
cmp dword [ebp - 0x4c], 0x10
jb 0x4171c2
mov esi, dword [ebp - 0x60]
cmp esi, ebx
jne 0x4171c5
xor esi, esi
jmp 0x4171f4
lea esi, [ebp - 0x60]
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, eax
inc edi
cmp edi, 0x3fffffff
jle 0x4171db
xor esi, esi
jmp 0x4171f4
lea eax, [edi + edi]
call fcn.0045dfe0
mov ecx, esp
mov eax, esi
push 3
mov edx, edi
mov esi, ecx
call fcn.004151d0
mov esi, eax
sub esp, 0x40
mov eax, esp
mov dword [ebp - 0x360], esp
push eax
lea edi, [ebp - 0x13c]
call fcn.0040fd30
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x2e8]
mov edx, dword [ebp - 0x30c]
push ecx
push edx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x30c], esp
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0xd4]
mov edi, 0xf
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], bl
call fcn.00403e10
sub esp, 0x1c
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x304]
mov ecx, esp
mov dword [ebp - 0x2e8], esp
call fcn.00408ec0
sub esp, 0x1c
mov byte [ebp - 4], 0x1b
mov eax, esi
mov ecx, esp
mov dword [ebp - 0x304], esp
call fcn.00408ec0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x35c], esp
push 0xffffffffffffffff
mov byte [ebp - 4], 0x1c
push ebx
lea edx, [ebp - 0x48]
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push edx
mov byte [ecx + 4], bl
call fcn.00403e10
mov ecx, dword [ebp - 0x308]
mov byte [ebp - 4], 0x18
call fcn.00415ec0
lea esi, [ebp - 0x13c]
call fcn.00409860
lea ecx, [ebp - 0x2fc]
mov byte [ebp - 4], 0xf
call fcn.00420e10
lea ecx, [ebp - 0xd4]
call fcn.00404250
lea ecx, [ebp - 0x188]
call fcn.00404250
lea ecx, [ebp - 0x80]
call fcn.00404250
lea ecx, [ebp - 0xb8]
call fcn.00404250
lea ecx, [ebp - 0x64]
call fcn.00404250
lea ecx, [ebp - 0x48]
call fcn.00404250
lea ecx, [ebp - 0x9c]
call fcn.00404250
mov eax, dword [ebp - 0x300]
inc eax
cmp eax, dword [ebp - 0x314]
mov dword [ebp - 0x300], eax
jl 0x416d32
lea ecx, [ebp - 0x344]
mov byte [ebp - 4], 7
call fcn.00420e10
push str.completelist
lea ecx, [ebp - 0x354]
call fcn.00421b80
mov ecx, eax
call fcn.00422060
test al, al
je 0x41785d
push str.completelist
lea ecx, [ebp - 0x354]
call fcn.00421b80
push eax
lea ecx, [ebp - 0x344]
call fcn.00420b70
lea ecx, [ebp - 0x344]
call fcn.004217d0
cmp eax, ebx
mov dword [ebp - 0x304], eax
mov dword [ebp - 0x300], ebx
jle 0x41784e
mov eax, dword [ebp - 0x308]
add eax, 0x4c
mov dword [ebp - 0x308], eax
jmp 0x4173a0
mov esi, 0xf
mov dword [ebp - 0xbc], esi
mov dword [ebp - 0xc0], ebx
mov byte [ebp - 0xd0], bl
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x6c], ebx
mov byte [ebp - 0x7c], bl
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x34], ebx
mov byte [ebp - 0x44], bl
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x50], ebx
mov byte [ebp - 0x60], bl
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x88], ebx
mov byte [ebp - 0x98], bl
mov ecx, dword [ebp - 0x300]
push ecx
lea ecx, [ebp - 0x344]
mov byte [ebp - 4], 0x22
call fcn.004218d0
push eax
lea ecx, [ebp - 0x2fc]
call fcn.00420b70
lea ecx, [ebp - 0x2fc]
mov byte [ebp - 4], 0x23
call fcn.004220b0
test al, al
je 0x417613
push 0x481114
lea ecx, [ebp - 0x2fc]
call fcn.00421b80
mov ecx, eax
call fcn.00422040
test al, al
je 0x417478
lea edx, [ebp - 0x330]
push edx
push 0x481114
lea ecx, [ebp - 0x2fc]
call fcn.00421b80
mov ecx, eax
call fcn.00421050
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x24
call fcn.00403e10
lea ecx, [ebp - 0x330]
mov byte [ebp - 4], 0x23
call fcn.00404250
push str.downloadPath
lea ecx, [ebp - 0x2fc]
call fcn.00421b80
mov ecx, eax
call fcn.00422040
test al, al
je 0x4174d0
lea eax, [ebp - 0x330]
push eax
push str.downloadPath
lea ecx, [ebp - 0x2fc]
call fcn.00421b80
mov ecx, eax
call fcn.00421050
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x25
call fcn.00403e10
lea ecx, [ebp - 0x330]
mov byte [ebp - 4], 0x23
call fcn.00404250
push str.copyPath
lea ecx, [ebp - 0x2fc]
call fcn.00421b80
mov ecx, eax
call fcn.00422040
test al, al
je 0x417528
lea ecx, [ebp - 0x330]
push ecx
push str.copyPath
lea ecx, [ebp - 0x2fc]
call fcn.00421b80
mov ecx, eax
call fcn.00421050
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x26
call fcn.00403e10
lea ecx, [ebp - 0x330]
mov byte [ebp - 4], 0x23
call fcn.00404250
push str.listName
lea ecx, [ebp - 0x2fc]
call fcn.00421b80
mov ecx, eax
call fcn.00422040
test al, al
je 0x417580
lea edx, [ebp - 0x330]
push edx
push str.listName
lea ecx, [ebp - 0x2fc]
call fcn.00421b80
mov ecx, eax
call fcn.00421050
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x27
call fcn.00403e10
lea ecx, [ebp - 0x330]
mov byte [ebp - 4], 0x23
call fcn.00404250
push str.version
lea ecx, [ebp - 0x2fc]
call fcn.00421b80
mov ecx, eax
call fcn.00422040
test al, al
je 0x4175db
lea eax, [ebp - 0x330]
push eax
push str.version
lea ecx, [ebp - 0x2fc]
call fcn.00421b80
mov ecx, eax
call fcn.00421050
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x28
call fcn.00403e10
lea ecx, [ebp - 0x330]
mov byte [ebp - 4], 0x23
call fcn.00404250
push str.fileSize
lea ecx, [ebp - 0x2fc]
call fcn.00421b80
mov ecx, eax
call fcn.00421880
test al, al
jne 0x417613
push str.fileSize
lea ecx, [ebp - 0x2fc]
call fcn.00421b80
mov ecx, eax
call fcn.004213d0
mov dword [ebp - 0x314], eax
mov eax, 7
xor ecx, ecx
xor edx, edx
mov dword [ebp - 0x154], esi
mov dword [ebp - 0x158], ebx
mov byte [ebp - 0x168], bl
mov dword [ebp - 0x138], esi
mov dword [ebp - 0x13c], ebx
mov byte [ebp - 0x14c], bl
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x120], ebx
mov word [ebp - 0x130], cx
mov dword [ebp - 0x100], eax
mov dword [ebp - 0x104], ebx
mov word [ebp - 0x114], dx
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0x29
call fcn.00403e10
cmp dword [ebp - 0x30], 0x10
jb 0x41768d
mov edi, dword [ebp - 0x44]
cmp edi, ebx
jne 0x417690
xor eax, eax
jmp 0x4176bd
lea edi, [ebp - 0x44]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov esi, eax
inc esi
cmp esi, 0x3fffffff
jle 0x4176a6
xor eax, eax
jmp 0x4176bd
lea eax, [esi + esi]
call fcn.0045dfe0
mov ecx, esp
mov edx, esi
push 3
mov eax, edi
mov esi, ecx
call fcn.004151d0
mov ecx, eax
lea esi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
cmp dx, bx
jne 0x4176c2
sub ecx, esi
sar ecx, 1
push ecx
lea esi, [ebp - 0x134]
call fcn.00409400
push 0xffffffffffffffff
push ebx
lea ecx, [ebp - 0x64]
push ecx
lea ecx, [ebp - 0x16c]
call fcn.00403e10
cmp dword [ebp - 0x84], 0x10
jb 0x417706
mov esi, dword [ebp - 0x98]
cmp esi, ebx
jne 0x41770c
xor eax, eax
jmp 0x417739
lea esi, [ebp - 0x98]
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, eax
inc edi
cmp edi, 0x3fffffff
jle 0x417722
xor eax, eax
jmp 0x417739
lea eax, [edi + edi]
call fcn.0045dfe0
mov ecx, esp
mov eax, esi
push 3
mov edx, edi
mov esi, ecx
call fcn.004151d0
mov ecx, eax
lea esi, [ecx + 2]
mov edi, edi
mov dx, word [ecx]
add ecx, 2
cmp dx, bx
jne 0x417740
sub ecx, esi
sar ecx, 1
push ecx
lea esi, [ebp - 0x118]
call fcn.00409400
mov edx, dword [ebp - 0x314]
mov ecx, dword [ebp - 0x308]
lea eax, [ebp - 0xd4]
push eax
mov dword [ebp - 0xfc], edx
call fcn.00410ca0
lea edi, [ebp - 0x16c]
mov esi, eax
call fcn.0040bea0
mov esi, edi
call fcn.0040be10
lea ecx, [ebp - 0x2fc]
mov byte [ebp - 4], 0x22
call fcn.00420e10
cmp dword [ebp - 0x84], 0x10
jb 0x4177b4
mov ecx, dword [ebp - 0x98]
push ecx
call fcn.00457a6e
add esp, 4
mov esi, 0x10
mov edi, 0xf
mov dword [ebp - 0x84], edi
mov dword [ebp - 0x88], ebx
mov byte [ebp - 0x98], bl
cmp dword [ebp - 0x4c], esi
jb 0x4177e1
mov edx, dword [ebp - 0x60]
push edx
call fcn.00457a6e
add esp, 4
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x50], ebx
mov byte [ebp - 0x60], bl
cmp dword [ebp - 0x30], esi
jb 0x4177fb
mov eax, dword [ebp - 0x44]
push eax
call fcn.00457a6e
add esp, 4
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x34], ebx
mov byte [ebp - 0x44], bl
cmp dword [ebp - 0x68], esi
jb 0x417815
mov ecx, dword [ebp - 0x7c]
push ecx
call fcn.00457a6e
add esp, 4
mov dword [ebp - 0x68], edi
mov dword [ebp - 0x6c], ebx
mov byte [ebp - 0x7c], bl
cmp dword [ebp - 0xbc], esi
jb 0x417835
mov edx, dword [ebp - 0xd0]
push edx
call fcn.00457a6e
add esp, 4
mov eax, dword [ebp - 0x300]
inc eax
cmp eax, dword [ebp - 0x304]
mov dword [ebp - 0x300], eax
jl 0x4173a0
lea ecx, [ebp - 0x344]
mov byte [ebp - 4], 7
call fcn.00420e10
lea edi, [ebp - 0x2e4]
call fcn.004178e0
lea ecx, [ebp - 0x354]
mov byte [ebp - 4], 5
call fcn.00420e10
cmp dword [ebp - 0xd8], 0x10
jb 0x41788f
mov eax, dword [ebp - 0xec]
push eax
call fcn.00457a6e
add esp, 4
mov dword [ebp - 0xd8], 0xf
mov dword [ebp - 0xdc], ebx
mov byte [ebp - 0xec], bl
lea esi, [ebp - 0x254]
call fcn.0040fdc0
lea esp, [ebp - 0x38c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00457a79
mov esp, ebp
pop ebp
ret 4