Function at 0x4185e0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 4
add esp, 0xfffff004
push eax
dec eax
jne 0x4185e9
mov eax, dword [ebp - 4]
add esp, 0xfffff458
push ebx
push esi
push edi
lea esi, [ebp - 0x4b58]
lea edi, [ebp - 0x4b08]
mov eax, 0x42ceec
call fcn.00424fbc
xor edx, edx
mov dword [ebp - 0x4b3c], edx
xor ecx, ecx
mov dword [ebp - 0x4b40], ecx
mov byte [0x434e14], 0
mov word [ebp - 0x4b28], 8
lea eax, [ebp - 0x2584]
call fcn.00407858
add dword [ebp - 0x4b1c], 2
mov word [ebp - 0x4b28], 0x14
mov word [ebp - 0x4b28], 0x20
mov eax, edi
call fcn.00407858
add dword [ebp - 0x4b1c], 2
mov word [ebp - 0x4b28], 0x14
mov edx, 0x4321f4
lea eax, [ebp - 0x2584]
xor ecx, ecx
call fcn.00402bec
mov byte [ebp - 0x2578], 1
push 0
lea edx, [ebp - 0x4b44]
push edx
mov edx, str._recover.rar
mov eax, edi
xor ecx, ecx
call fcn.00403f0c
test al, al
jne 0x4186fc
cmp dword [ebp - 0x4b44], 0
jne 0x4186bc
mov edx, str._recover.rar
mov eax, 0x4313b0
call fcn.00411d44
dec dword [ebp - 0x4b1c]
dec dword [ebp - 0x4b1c]
mov eax, edi
xor edx, edx
call fcn.00402ac4
dec dword [ebp - 0x4b1c]
dec dword [ebp - 0x4b1c]
lea eax, [ebp - 0x2584]
xor edx, edx
call fcn.00402ac4
mov ecx, dword [ebp - 0x4b38]
mov dword fs:[0], ecx
jmp 0x419220
push str._recover.rar
mov eax, 0xd96
call fcn.0040a360
push eax
call fcn.00410f14
add esp, 8
mov edx, edi
lea eax, [ebp - 0x2584]
call fcn.00411ff6
mov ebx, eax
cmp ebx, 2
jne 0x41876f
mov eax, edi
call fcn.00402d30
dec dword [ebp - 0x4b1c]
dec dword [ebp - 0x4b1c]
mov eax, edi
xor edx, edx
call fcn.00402ac4
dec dword [ebp - 0x4b1c]
dec dword [ebp - 0x4b1c]
lea eax, [ebp - 0x2584]
xor edx, edx
call fcn.00402ac4
mov ecx, dword [ebp - 0x4b38]
mov dword fs:[0], ecx
jmp 0x419220
cmp ebx, 1
jne 0x4187de
mov eax, edi
call fcn.00402d30
mov eax, 0xdaa
call fcn.0040a360
push eax
call fcn.00410f14
pop ecx
mov eax, 0xbba
call fcn.0040a360
call fcn.004113a8
dec eax
je 0x4187de
dec dword [ebp - 0x4b1c]
dec dword [ebp - 0x4b1c]
mov eax, edi
xor edx, edx
call fcn.00402ac4
dec dword [ebp - 0x4b1c]
dec dword [ebp - 0x4b1c]
lea eax, [ebp - 0x2584]
xor edx, edx
call fcn.00402ac4
mov ecx, dword [ebp - 0x4b38]
mov dword fs:[0], ecx
jmp 0x419220
test ebx, ebx
jne 0x4187e9
mov eax, edi
call fcn.00402da0
add esp, 0xfffffff8
xor edx, edx
mov eax, esp
call fcn.00401f50
lea eax, [ebp - 0x2584]
xor edx, edx
call fcn.00402fe8
push 0
lea ecx, [ebp - 0x4b44]
push ecx
mov edx, str._reconst.rar
mov eax, edi
xor ecx, ecx
call fcn.00403f0c
test al, al
jne 0x418875
cmp dword [ebp - 0x4b44], 0
jne 0x418835
mov edx, str._reconst.rar
mov eax, 0x4313b0
call fcn.00411d44
dec dword [ebp - 0x4b1c]
dec dword [ebp - 0x4b1c]
mov eax, edi
xor edx, edx
call fcn.00402ac4
dec dword [ebp - 0x4b1c]
dec dword [ebp - 0x4b1c]
lea eax, [ebp - 0x2584]
xor edx, edx
call fcn.00402ac4
mov ecx, dword [ebp - 0x4b38]
mov dword fs:[0], ecx
jmp 0x419220
lea edx, [ebp - 0x4b4c]
lea eax, [ebp - 0x2584]
call fcn.004031ac
push 0x4321f4
mov eax, 0xd94
call fcn.0040a360
push eax
call fcn.00410f14
add esp, 8
mov eax, 0xd96
push str._reconst.rar
call fcn.0040a360
push eax
call fcn.00410f14
add esp, 8
xor edx, edx
mov byte [ebp - 0x4b4d], 0
lea eax, [ebp - 0x2584]
call fcn.00407ad8
test al, al
je 0x418948
mov byte [ebp - 0x4b4d], 1
mov cx, word [ebp - 0x1938]
mov word [edi + 0xc4c], cx
mov ax, word [ebp - 0x1936]
mov word [edi + 0xc4e], ax
cmp byte [ebp - 0x10], 0
je 0x418948
mov eax, 0xd98
call fcn.0040a360
push eax
call fcn.0041d308
pop ecx
dec dword [ebp - 0x4b1c]
dec dword [ebp - 0x4b1c]
mov eax, edi
xor edx, edx
call fcn.00402ac4
dec dword [ebp - 0x4b1c]
dec dword [ebp - 0x4b1c]
lea eax, [ebp - 0x2584]
xor edx, edx
call fcn.00402ac4
mov ecx, dword [ebp - 0x4b38]
mov dword fs:[0], ecx
jmp 0x419220
xor eax, eax
mov edx, 0x72
mov dword [edi + 0xc54], eax
mov word [edi + 0xc50], ax
and word [edi + 0xc4c], 0xff9f
mov eax, edi
call fcn.00412f54
mov eax, edi
mov edx, 0x73
call fcn.00412f54
movzx edx, word [edi + 0xc4e]
add esp, 0xfffffff8
add edx, 0xfffffff3
mov eax, esp
call fcn.00401f50
mov edx, edi
lea eax, [ebp - 0x2584]
call fcn.004032f0
add esp, 0xfffffff8
xor edx, edx
mov eax, esp
call fcn.00401f50
lea eax, [ebp - 0x2584]
xor edx, edx
call fcn.00402fe8
mov word [ebp - 0x4b28], 0x2c
lea eax, [ebp - 0x4b14]
mov edx, 0x7918
call fcn.00403418
inc dword [ebp - 0x4b1c]
xor edx, edx
mov word [ebp - 0x4b28], 0x14
mov eax, esi
call fcn.00401f50
lea eax, [ebp - 0x4b60]
xor edx, edx
call fcn.00401f50
lea eax, [ebp - 0x2584]
mov ecx, dword [ebp - 0x4b10]
mov edx, dword [ebp - 0x4b14]
call fcn.00402eb4
add esp, 0xfffffff8
mov edx, dword [ebp - 0x4b10]
add edx, 0xfffffc18
mov eax, esp
call fcn.00401f50
lea edx, [ebp - 0x4b68]
lea eax, [ebp - 0x4b60]
call fcn.00402344
add esp, 0xfffffff8
mov ecx, dword [esi]
mov dword [esp], ecx
mov eax, dword [esi + 4]
mov dword [esp + 4], eax
add esp, 0xfffffff8
mov edx, dword [ebp - 0x4b10]
mov eax, esp
add edx, 0xfffffc18
call fcn.00401f50
lea eax, [ebp - 0x4b70]
call fcn.00402264
mov ebx, dword [ebp - 0x4b70]
xor ecx, ecx
add ebx, dword [ebp - 0x4b14]
xor edx, edx
mov word [ebp - 0x4b28], 0x14
mov al, byte [ebx + 2]
mov byte [edi + 0xc5a], al
mov cl, byte [ebx + 0x1b]
mov dl, byte [ebx + 0x1a]
shl ecx, 8
add dx, cx
mov word [edi + 0xc76], dx
cmp byte [edi + 0xc5a], 0x74
jne 0x41901f
cmp word [edi + 0xc76], 0
jbe 0x41901f
cmp word [edi + 0xc76], 0x400
jae 0x41901f
xor edx, edx
xor eax, eax
mov dl, byte [ebx + 1]
mov al, byte [ebx]
shl edx, 8
xor ecx, ecx
add ax, dx
xor edx, edx
mov word [edi + 0xc58], ax
xor eax, eax
mov al, byte [ebx + 4]
mov cl, byte [ebx + 3]
shl eax, 8
add cx, ax
xor eax, eax
mov word [edi + 0xc5c], cx
xor ecx, ecx
mov cl, byte [ebx + 6]
mov dl, byte [ebx + 5]
shl ecx, 8
add dx, cx
mov word [edi + 0xc5e], dx
xor edx, edx
mov dl, byte [ebx + 8]
mov al, byte [ebx + 7]
movzx ecx, dx
shl ecx, 8
xor edx, edx
add eax, ecx
mov dl, byte [ebx + 9]
xor ecx, ecx
mov cl, byte [ebx + 0xa]
shl edx, 0x10
shl ecx, 0x18
add eax, edx
add eax, ecx
xor edx, edx
mov dword [edi + 0xc60], eax
xor eax, eax
mov dl, byte [ebx + 0xc]
mov al, byte [ebx + 0xb]
movzx ecx, dx
shl ecx, 8
xor edx, edx
add eax, ecx
mov dl, byte [ebx + 0xd]
xor ecx, ecx
mov cl, byte [ebx + 0xe]
shl edx, 0x10
shl ecx, 0x18
add eax, edx
add eax, ecx
xor edx, edx
mov dword [edi + 0xc64], eax
mov al, byte [ebx + 0xf]
mov byte [edi + 0xc68], al
xor eax, eax
mov dl, byte [ebx + 0x11]
mov al, byte [ebx + 0x10]
movzx ecx, dx
shl ecx, 8
xor edx, edx
add eax, ecx
mov dl, byte [ebx + 0x12]
xor ecx, ecx
mov cl, byte [ebx + 0x13]
shl edx, 0x10
shl ecx, 0x18
add eax, edx
add eax, ecx
xor edx, edx
mov dword [edi + 0xc6c], eax
xor eax, eax
mov dl, byte [ebx + 0x15]
mov al, byte [ebx + 0x14]
movzx ecx, dx
shl ecx, 8
xor edx, edx
add eax, ecx
mov dl, byte [ebx + 0x16]
xor ecx, ecx
mov cl, byte [ebx + 0x17]
shl edx, 0x10
shl ecx, 0x18
add eax, edx
add eax, ecx
xor ecx, ecx
mov dword [edi + 0xc70], eax
xor edx, edx
mov al, byte [ebx + 0x18]
mov byte [edi + 0xc74], al
mov al, byte [ebx + 0x19]
mov byte [edi + 0xc75], al
mov cl, byte [ebx + 0x1d]
mov dl, byte [ebx + 0x1c]
movzx eax, cx
shl eax, 8
xor ecx, ecx
add edx, eax
mov cl, byte [ebx + 0x1e]
xor eax, eax
mov al, byte [ebx + 0x1f]
shl ecx, 0x10
shl eax, 0x18
add edx, ecx
add edx, eax
mov dword [edi + 0xc78], edx
test byte [edi + 0xc5d], 1
je 0x418c5b
xor ecx, ecx
xor edx, edx
mov cl, byte [ebx + 0x21]
mov dl, byte [ebx + 0x20]
movzx eax, cx
shl eax, 8
xor ecx, ecx
add edx, eax
mov cl, byte [ebx + 0x22]
xor eax, eax
mov al, byte [ebx + 0x23]
shl ecx, 0x10
shl eax, 0x18
add edx, ecx
add edx, eax
xor ecx, ecx
mov dword [edi + 0xc7c], edx
xor edx, edx
mov cl, byte [ebx + 0x25]
mov dl, byte [ebx + 0x24]
movzx eax, cx
shl eax, 8
xor ecx, ecx
add edx, eax
mov cl, byte [ebx + 0x26]
xor eax, eax
mov al, byte [ebx + 0x27]
shl ecx, 0x10
shl eax, 0x18
add edx, ecx
add edx, eax
mov dword [edi + 0xc80], edx
jmp 0x418c69
xor edx, edx
mov dword [edi + 0xc80], edx
mov dword [edi + 0xc7c], edx
lea eax, [ebp - 0x4b78]
mov ecx, dword [edi + 0xc60]
mov edx, dword [edi + 0xc7c]
call fcn.00401f80
mov ecx, dword [eax]
mov dword [edi + 0xc84], ecx
mov ecx, dword [eax + 4]
mov dword [edi + 0xc88], ecx
lea eax, [ebp - 0x4b80]
mov ecx, dword [edi + 0xc64]
mov edx, dword [edi + 0xc80]
call fcn.00401f80
mov edx, dword [eax]
mov dword [edi + 0xc8c], edx
mov edx, dword [eax + 4]
mov dword [edi + 0xc90], edx
movzx eax, word [edi + 0xc76]
push eax
mov eax, edi
call fcn.00408ea0
add eax, ebx
push eax
push 0x42f228
call fcn.00424b60
add esp, 0xc
test byte [edi + 0xc5d], 2
je 0x418d25
lea eax, [ebp - 0x4bac]
call fcn.00409e60
push 0x42f228
call fcn.00424d68
pop ecx
inc eax
movzx edx, word [edi + 0xc76]
sub edx, eax
push edx
push 0x42f628
push 0x400
mov ecx, 0x42f228
add ecx, eax
mov edx, 0x42f228
lea eax, [ebp - 0x4bac]
call fcn.0040a0fc
jmp 0x418d2e
mov word [0x42f628], 0
add esp, 0xfffffff8
mov edx, dword [edi + 0xc60]
mov eax, esp
call fcn.00401f50
add esp, 0xfffffff8
mov ecx, dword [ebp - 0x4b4c]
add esp, 0xfffffff8
add esp, 0xfffffff8
add esp, 0xfffffff8
mov dword [esp], ecx
mov eax, dword [ebp - 0x4b48]
mov dword [esp + 4], eax
add esp, 0xfffffff8
mov edx, dword [esi]
mov dword [esp], edx
lea eax, [esp + 0x10]
mov ecx, dword [esi + 4]
mov dword [esp + 4], ecx
call fcn.0040231c
add esp, 0xfffffff8
mov eax, edi
call fcn.00408ea0
mov edx, eax
mov eax, esp
call fcn.00401f50
lea eax, [esp + 0x10]
call fcn.0040231c
add esp, 0xfffffff8
movzx edx, word [edi + 0xc76]
mov eax, esp
call fcn.00401f50
lea eax, [esp + 0x10]
call fcn.0040231c
call fcn.0040248c
test al, al
je 0x418e52
add esp, 0xfffffff8
mov edx, dword [ebp - 0x4b4c]
add esp, 0xfffffff8
add esp, 0xfffffff8
mov dword [esp], edx
mov ecx, dword [ebp - 0x4b48]
mov dword [esp + 4], ecx
add esp, 0xfffffff8
mov eax, dword [esi]
mov dword [esp], eax
lea eax, [esp + 0x10]
mov edx, dword [esi + 4]
mov dword [esp + 4], edx
call fcn.0040231c
add esp, 0xfffffff8
mov eax, edi
call fcn.00408ea0
mov edx, eax
mov eax, esp
call fcn.00401f50
lea eax, [esp + 0x10]
call fcn.0040231c
add esp, 0xfffffff8
movzx edx, word [edi + 0xc76]
mov eax, esp
call fcn.00401f50
lea eax, [ebp - 0x4b88]
call fcn.0040231c
mov edx, dword [ebp - 0x4b88]
lea ecx, [ebp - 0x4b90]
mov dword [edi + 0xc60], edx
mov edx, 0x20
lea eax, [ebp - 0x4b88]
call fcn.00401ff0
mov ecx, dword [ebp - 0x4b90]
mov dword [edi + 0xc7c], ecx
mov eax, edi
call fcn.00408ea0
mov ecx, eax
movzx edx, word [edi + 0xc76]
add ecx, edx
add ecx, 0xfffffffe
lea edx, [ebx + 2]
or eax, 0xffffffff
call fcn.004092e8
mov dword [0x4329f4], eax
mov eax, edi
call fcn.00411eb4
test al, al
je 0x41901f
test byte [edi + 0xc5c], 8
mov bl, 1
je 0x418f25
add esp, 0xfffffff8
add esp, 0xfffffff8
add esp, 0xfffffff8
mov eax, dword [esi]
mov dword [esp], eax
mov edx, dword [esi + 4]
mov dword [esp + 4], edx
add esp, 0xfffffff8
movzx edx, word [edi + 0xc76]
mov eax, esp
call fcn.00401f50
lea eax, [esp + 0x10]
call fcn.004022f4
add esp, 0xfffffff8
mov eax, edi
call fcn.00408ea0
mov edx, eax
mov eax, esp
call fcn.00401f50
lea eax, [esp + 0x10]
call fcn.004022f4
lea eax, [ebp - 0x2584]
xor edx, edx
call fcn.00402fe8
lea eax, [ebp - 0x2584]
mov edx, 0x75
call fcn.0040856c
mov eax, edi
call fcn.00408ea0
movzx edx, word [edi + 0xc76]
add eax, edx
movzx ecx, word [ebp - 0xcce]
add eax, ecx
movzx edx, word [edi + 0xc5e]
cmp eax, edx
je 0x418f5e
xor ebx, ebx
jmp 0x418f5e
add esp, 0xfffffff8
add esp, 0xfffffff8
mov eax, dword [esi]
mov dword [esp], eax
mov edx, dword [esi + 4]
mov dword [esp + 4], edx
add esp, 0xfffffff8
movzx edx, word [edi + 0xc5e]
mov eax, esp
call fcn.00401f50
lea eax, [esp + 0x10]
call fcn.004022f4
lea eax, [ebp - 0x2584]
xor edx, edx
call fcn.00402fe8
movzx ecx, word [edi + 0xc76]
mov byte [ecx + 0x42f228], 0
call fcn.00409258
test bl, bl
je 0x41901f
cmp word [0x42f628], 0
jne 0x418f8f
mov eax, 0x42f228
mov dl, 1
call fcn.00401ed4
movzx ecx, word [edi + 0xc5c]
or dword [ebp - 0x4b40], ecx
mov eax, 0x42f228
call fcn.0040189c
push eax
mov eax, 0xd9a
call fcn.0040a360
push eax
call fcn.00410f14
add esp, 8
inc dword [ebp - 0x4b3c]
mov eax, edi
mov edx, 0x74
call fcn.00412f54
test byte [edi + 0xc5c], 8
je 0x419002
mov eax, edi
mov edx, 0x75
call fcn.00412f54
movzx edx, word [ebp - 0xcce]
add esp, 0xfffffff8
add edx, 0xfffffff3
mov eax, esp
call fcn.00401f50
mov edx, edi
lea eax, [ebp - 0x2584]
call fcn.004032f0
add esp, 0xfffffff8
mov edx, dword [edi + 0xc60]
mov eax, esp
call fcn.00401f50
mov edx, edi
lea eax, [ebp - 0x2584]
call fcn.004032f0
inc dword [esi]
jne 0x419026
inc dword [esi + 4]
add esp, 0xfffffff8
mov ecx, dword [esi]
mov dword [esp], ecx
mov eax, dword [esi + 4]
mov dword [esp + 4], eax
add esp, 0xfffffff8
add esp, 0xfffffff8
mov edx, dword [ebp - 0x4b4c]
mov dword [esp], edx
mov ecx, dword [ebp - 0x4b48]
mov dword [esp + 4], ecx
add esp, 0xfffffff8
mov eax, edi
call fcn.00408ea0
mov edx, eax
mov eax, esp
call fcn.00401f50
lea eax, [esp + 0x10]
call fcn.0040231c
call fcn.004024fc
test al, al
jne 0x419120
add esp, 0xfffffff8
mov edx, dword [esi]
add esp, 0xfffffff8
mov dword [esp], edx
mov ecx, dword [esi + 4]
mov dword [esp + 4], ecx
add esp, 0xfffffff8
mov edx, dword [ebp - 0x4b10]
mov eax, esp
add edx, 0xfffffc18
call fcn.00401f50
lea eax, [esp + 0x10]
call fcn.00402264
add esp, 0xfffffff8
xor edx, edx
mov eax, esp
call fcn.00401f50
call fcn.0040246c
test al, al
je 0x418a2e
add esp, 0xfffffff8
mov ecx, dword [ebp - 0x4b60]
mov dword [esp], ecx
mov eax, dword [ebp - 0x4b5c]
mov dword [esp + 4], eax
lea eax, [ebp - 0x2584]
xor edx, edx
call fcn.00402fe8
lea eax, [ebp - 0x2584]
mov ecx, dword [ebp - 0x4b10]
mov edx, dword [ebp - 0x4b14]
call fcn.00402eb4
add esp, 0xfffffff8
mov edx, 0x7530
mov eax, esp
call fcn.00401f50
lea edx, [ebp - 0x4b98]
lea eax, [ebp - 0x4b60]
call fcn.00402344
jmp 0x418a2e
test byte [ebp - 0x4b40], 3
je 0x419131
or word [edi + 0xc4c], 1
cmp dword [ebp - 0x4b3c], 0
jle 0x41916e
cmp byte [ebp - 0x4b4d], 0
jne 0x41916e
mov eax, 0xd9c
call fcn.0040a360
push eax
call fcn.00410f14
pop ecx
mov eax, 0xbba
call fcn.0040a360
call fcn.004113a8
dec eax
jne 0x41916e
or word [edi + 0xc4c], 8
cmp dword [ebp - 0x4b3c], 0
jne 0x41918a
mov eax, 0xd9e
call fcn.0040a360
push eax
call fcn.00410f14
pop ecx
jmp 0x4191cf
add esp, 0xfffffff8
xor edx, edx
mov eax, esp
call fcn.00401f50
mov eax, edi
xor edx, edx
call fcn.00402fe8
mov eax, edi
mov edx, 0x72
call fcn.00412f54
mov eax, edi
mov edx, 0x73
call fcn.00412f54
mov eax, edi
call fcn.00402d30
mov eax, 0xcd0
call fcn.0040a360
push eax
call fcn.00410f14
pop ecx
dec dword [ebp - 0x4b1c]
lea eax, [ebp - 0x4b14]
mov edx, 2
call fcn.004013a0
dec dword [ebp - 0x4b1c]
dec dword [ebp - 0x4b1c]
mov eax, edi
xor edx, edx
call fcn.00402ac4
dec dword [ebp - 0x4b1c]
dec dword [ebp - 0x4b1c]
lea eax, [ebp - 0x2584]
xor edx, edx
call fcn.00402ac4
mov ecx, dword [ebp - 0x4b38]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret