Function at 0x4790a8
Capabilities:
Packed with generic packer

Disassembly:
sub esp, 0x13c
pushal
mov esi, eax
mov ebx, esi
call fcn.004f32b8
mov dword [esi + 9], 0
mov byte [esi + 0x15], 0
mov eax, 9
mov ebx, 4
call fcn.00466a9c
mov dword [esi + 0x11], eax
mov byte [esi + 0x16], 0
call fcn.004796a4
cmp eax, 0
je 0x4795d4
mov byte [esi + 0x16], 1
push 0
push 0x59f788
push 0x59f790
call sub.KERNEL32.dll_GetProfileIntA
cmp eax, 0
pushfd
lea edi, [esp + 0x4a]
mov dword [esp + 0x2b], edi
popfd
je 0x4792ee
push 0x105
lea ebp, [esp + 0x5b]
push ebp
push 0x59f798
push 0x59f7a4
push 0x59f7b0
call sub.KERNEL32.dll_GetProfileStringA
cmp byte [esp + 0x57], 0
jne 0x479140
mov eax, ebp
mov ebx, 0x59f7b8
call fcn.004eba60
mov eax, ebp
call fcn.0048ab70
mov dword [esi + 0xd], eax
mov eax, dword [esi + 0xd]
cmp eax, 0xffffffff
jne 0x47915e
mov dword [esi + 0xd], 0
jmp 0x4792ee
push 0
push str.Lists
push 0x59f7cc
call sub.KERNEL32.dll_GetProfileIntA
mov byte [0x59fa08], al
push 0
push str.Flush
push 0x59f7dc
call sub.KERNEL32.dll_GetProfileIntA
mov byte [0x59f994], al
mov edx, 0x59f7e4
mov ebp, dword [esi + 0xd]
mov eax, ebp
mov ebx, 0
mov ecx, 2
call fcn.0051a48c
cmp edx, 0
je 0x4791b3
mov eax, edx
call fcn.00420750
mov ebx, eax
jmp 0x4791b8
mov ebx, 0
mov eax, ebp
mov ecx, edx
lea edx, [esp + 0x36]
call fcn.0051a40c
cmp byte [0x59f994], 0
je 0x4791d4
push ebp
call sub.KERNEL32.dll_FlushFileBuffers
call fcn.0040fbf0
mov dword [0x52169c], eax
mov edx, 0x59f7f4
mov ebp, dword [esi + 0xd]
mov eax, ebp
mov ebx, 0
mov ecx, 2
call fcn.0051a48c
cmp edx, 0
je 0x479207
mov eax, edx
call fcn.00420750
mov ebx, eax
jmp 0x47920c
mov ebx, 0
mov eax, ebp
mov ecx, edx
lea edx, [esp + 0x3a]
call fcn.0051a40c
cmp byte [0x59f994], 0
je 0x479228
push ebp
call sub.KERNEL32.dll_FlushFileBuffers
call fcn.0040fbf0
mov dword [0x52169c], eax
mov edx, 0x59f7f8
mov ebp, dword [esi + 0xd]
mov eax, ebp
mov ebx, 0
mov ecx, 2
call fcn.0051a48c
cmp edx, 0
je 0x47925b
mov eax, edx
call fcn.00420750
mov ebx, eax
jmp 0x479260
mov ebx, 0
mov eax, ebp
mov ecx, edx
lea edx, [esp + 0x3e]
call fcn.0051a40c
cmp byte [0x59f994], 0
je 0x47927c
push ebp
call sub.KERNEL32.dll_FlushFileBuffers
call fcn.0040fbf0
mov dword [0x52169c], eax
mov edx, str._bit_Log_started:
mov ebp, dword [esi + 0xd]
mov eax, ebp
mov ebx, 0
mov ecx, 2
call fcn.0051a48c
cmp edx, 0
je 0x4792af
mov eax, edx
call fcn.00420750
mov ebx, eax
jmp 0x4792b4
mov ebx, 0
mov eax, ebp
mov ecx, edx
lea edx, [esp + 0x42]
call fcn.0051a40c
cmp byte [0x59f994], 0
je 0x4792d0
push ebp
call sub.KERNEL32.dll_FlushFileBuffers
call fcn.0040fbf0
mov dword [0x52169c], eax
mov eax, dword [esi + 0xd]
mov edx, edi
mov ebx, 2
mov ecx, 0x59f810
call fcn.0051a40c
cmp dword [esi + 0xd], 0
je 0x479348
mov edx, str.Allocating_Environment
mov edi, dword [esi + 0xd]
mov eax, edi
mov ebx, 0
mov ecx, 2
call fcn.0051a48c
cmp edx, 0
je 0x47931d
mov eax, edx
call fcn.00420750
mov ebx, eax
jmp 0x479322
mov ebx, 0
mov eax, edi
mov ecx, edx
lea edx, [esp + 0x4a]
call fcn.0051a40c
cmp byte [0x59f994], 0
je 0x47933e
push edi
call sub.KERNEL32.dll_FlushFileBuffers
call fcn.0040fbf0
mov dword [0x52169c], eax
lea eax, [esi + 9]
push eax
call dword [0x59fa20]
cmp dword [esi + 0xd], 0
je 0x479459
mov eax, esi
mov ebx, 0x59f840
mov cl, 0
call fcn.00479bc8
mov edx, 0x59f844
mov ebp, dword [esi + 0xd]
call fcn.0040fbf0
sub eax, dword [0x52169c]
mov dword [esp + 0x2b], eax
mov eax, ebp
mov ebx, 0
mov ecx, 2
call fcn.0051a48c
cmp edx, 0
je 0x4793a2
mov eax, edx
call fcn.00420750
mov ebx, eax
jmp 0x4793a7
mov ebx, 0
mov eax, ebp
mov ecx, edx
lea edi, [esp + 0x4e]
mov edx, edi
call fcn.0051a40c
mov eax, ebp
mov edx, edi
mov ebx, 0xc
mov ecx, str._Time_Taken:
call fcn.0051a40c
mov eax, dword [esp + 0x2b]
mov ebx, 0x64
cdq
idiv ebx
push edx
push eax
push str._ld._02ld_secs
push 0x5218a0
call fcn.004dbfa0
add esp, 0x10
mov eax, ebp
mov ebx, 0
mov ecx, 2
call fcn.0051a48c
mov eax, 0x5218a0
cmp eax, 0
je 0x479424
mov eax, 0x5218a0
call fcn.00420750
mov ebx, eax
jmp 0x479429
cmp byte [0x59fa08], 0
jne 0x4794ef
jmp 0x47956d
mov ebx, 0
mov eax, ebp
mov edx, edi
mov ecx, 0x5218a0
call fcn.0051a40c
mov eax, ebp
mov edx, edi
mov ebx, 2
mov ecx, 0x59eae4
call fcn.0051a40c
cmp byte [0x59f994], 0
je 0x479459
push ebp
call sub.KERNEL32.dll_FlushFileBuffers
mov byte [esp + 0x35], 0
mov ax, 0
mov byte [esp + 0x56], 0
cmp byte [0x521ac4], 0
jne 0x479477
mov byte [0x521ac4], 1
lea ebx, [esp + 0x56]
mov eax, 0x59fa40
call fcn.0048d7e4
mov edi, eax
mov word [esp + 0x2f], 2
mov byte [esp + 0x22], 0
mov eax, 0x100
mov ebx, 1
call fcn.00466a9c
mov ebx, dword [esi + 0x11]
mov dword [ebx], eax
push 0
push 0
push 0
push 0
push 0x100
mov eax, dword [esi + 0x11]
mov bl, byte [esp + 0x36]
movsx ebp, bl
mov eax, dword [eax + ebp*4]
push eax
movzx eax, word [esp + 0x47]
push eax
mov eax, dword [esi + 9]
push eax
call dword [0x59fa28]
cmp ax, 0x64
je 0x4795b0
mov word [esp + 0x2f], 1
cmp dword [esi + 0xd], 0
jne 0x479412
jmp 0x47956d
cmp ax, 0x64
je 0x47956d
mov eax, dword [esi + 0x11]
mov eax, dword [eax + ebp*4]
mov dword [esp + 0x23], eax
mov edx, dword [esi + 0xd]
mov dword [esp + 0x31], edx
mov eax, edx
mov ebx, 0
mov ecx, 2
call fcn.0051a48c
mov ecx, dword [esp + 0x23]
cmp ecx, 0
je 0x47952b
mov eax, ecx
call fcn.00420750
mov ebx, eax
jmp 0x479530
mov ebx, 0
mov eax, edx
lea edx, [esp + 0x52]
call fcn.0051a40c
cmp byte [0x59f994], 0
je 0x47954d
push dword [esp + 0x31]
call sub.KERNEL32.dll_FlushFileBuffers
call fcn.0040fbf0
mov dword [0x52169c], eax
mov eax, dword [esi + 0xd]
mov edx, dword [esp + 0x27]
mov ebx, 2
mov ecx, 0x59f848
call fcn.0051a40c
mov eax, dword [esi + 0x11]
mov eax, dword [eax + ebp*4]
mov ebx, edi
call fcn.00479650
cmp al, 0
je 0x4794a7
inc byte [esp + 0x22]
mov eax, 0x100
mov ebx, 1
call fcn.00466a9c
mov ecx, dword [esi + 0x11]
mov bl, byte [esp + 0x22]
movsx ebp, bl
mov dword [ecx + ebp*4], eax
mov byte [esp + 0x35], 1
cmp bl, 8
jne 0x4794a7
mov eax, dword [esi + 0x11]
mov eax, dword [eax + ebp*4]
call fcn.0046688c
mov eax, dword [esi + 0x11]
mov dword [eax + ebp*4], 0
cmp byte [esp + 0x35], 0
je 0x4795d4
mov eax, dword [esi + 0x11]
call fcn.004795dc
popal
add esp, 0x13c
ret