Function at 0x424747
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 0x10
add esp, 0xfffff004
push eax
dec eax
jne 0x424750
mov eax, dword [ebp - 4]
add esp, 0xfffffcc4
push ebx
push esi
push edi
mov ebx, ecx
mov dword [ebp - 0xf500], edx
mov dword [ebp - 0xf4fc], eax
lea esi, [ebp - 0xf4f8]
mov eax, 0x4a51c8
call fcn.00498090
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0xf504], edx
mov dword [ebp - 0xf508], ecx
mov byte [ebp - 0xf509], 0
mov word [esi + 0x10], 8
mov edx, dword [ebp - 0xf4fc]
lea eax, [ebp - 0x7a64]
call fcn.004042ec
add dword [esi + 0x1c], 0xa
mov word [esi + 0x10], 0x14
mov word [esi + 0x10], 0x20
lea eax, [ebp - 0xf4c8]
mov edx, dword [ebp - 0xf4fc]
call fcn.004042ec
add dword [esi + 0x1c], 0xa
mov word [esi + 0x10], 0x14
lea eax, [ebp - 0x7a64]
mov ecx, ebx
mov edx, dword [ebp - 0xf500]
call fcn.00409858
mov byte [ebp - 0x7a53], 1
push 0x4a50ed
lea eax, [ebp - 0xf92c]
push eax
call fcn.00497c60
add esp, 8
mov eax, dword [ebp - 0xf500]
call fcn.0040bd0c
push eax
lea edx, [ebp - 0xf92c]
push edx
call fcn.00497b84
add esp, 8
lea eax, [ebp - 0xf92c]
xor edx, edx
call fcn.0040c69c
push 0x4a50f4
lea ecx, [ebp - 0xfd2c]
push ecx
call fcn.00497c60
add esp, 8
mov eax, dword [ebp - 0xf500]
call fcn.0040bd0c
push eax
lea edx, [ebp - 0xfd2c]
push edx
call fcn.00497b84
add esp, 8
mov edx, 0x4a50fd
mov eax, dword [ebp - 0xf500]
call fcn.0040c158
test al, al
jne 0x42488a
mov edx, 0x4a5101
mov eax, dword [ebp - 0xf500]
call fcn.0040c158
test al, al
je 0x42489a
mov edx, 0x4a5105
lea eax, [ebp - 0xfd2c]
call fcn.0040c040
lea eax, [ebp - 0xfd2c]
xor edx, edx
call fcn.0040c69c
push 0
lea eax, [ebp - 0xf50a]
mov ecx, dword [ebp - 0xf4fc]
lea edx, [ebp - 0xf4c8]
push dword [ecx + 0x20a4]
push eax
push 0x80000000
push 0
push 0
mov eax, dword [ebp - 0xf4fc]
lea ecx, [ebp - 0xf92c]
call fcn.0040b5f0
test al, al
jne 0x4249f4
cmp byte [ebp - 0xf50a], 0
jne 0x42490c
mov eax, 0x4b1ad4
mov edx, 9
call fcn.0042d6f0
lea edx, [ebp - 0xf92c]
mov eax, 0x4b1ad4
call fcn.0042d5c4
mov al, byte [ebp - 0xf50a]
mov edx, 2
push eax
lea eax, [ebp - 0x9448]
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
call fcn.004017ec
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
lea eax, [ebp - 0xa174]
mov edx, 2
call fcn.004017ec
sub dword [esi + 0x1c], 2
lea eax, [ebp - 0xe0f8]
mov edx, 2
call fcn.004282c8
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
lea eax, [ebp - 0xe65c]
mov edx, 2
call fcn.004017ec
dec dword [esi + 0x1c]
lea eax, [ebp - 0xf4c8]
xor edx, edx
call fcn.004096ec
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
lea eax, [ebp - 0x19e4]
mov edx, 2
call fcn.004017ec
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
lea eax, [ebp - 0x2710]
mov edx, 2
call fcn.004017ec
sub dword [esi + 0x1c], 2
lea eax, [ebp - 0x6694]
mov edx, 2
call fcn.004282c8
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
lea eax, [ebp - 0x6bf8]
mov edx, 2
call fcn.004017ec
dec dword [esi + 0x1c]
lea eax, [ebp - 0x7a64]
xor edx, edx
call fcn.004096ec
pop eax
mov edx, dword [esi]
mov dword fs:[0], edx
jmp 0x42576a
lea ecx, [ebp - 0xf92c]
mov eax, 0x267
push ecx
call fcn.004125b4
push eax
lea edx, [ebp - 0x1032c]
push edx
call fcn.0049abc0
add esp, 0xc
lea eax, [ebp - 0x1032c]
call fcn.00474960
lea edx, [ebp - 0xf4c8]
lea eax, [ebp - 0x7a64]
call fcn.004233b8
mov ebx, eax
cmp ebx, 2
jne 0x424b2b
lea eax, [ebp - 0xf4c8]
call fcn.004099e0
mov al, 1
mov edx, 2
push eax
lea eax, [ebp - 0x9448]
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
call fcn.004017ec
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
lea eax, [ebp - 0xa174]
mov edx, 2
call fcn.004017ec
sub dword [esi + 0x1c], 2
lea eax, [ebp - 0xe0f8]
mov edx, 2
call fcn.004282c8
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
lea eax, [ebp - 0xe65c]
mov edx, 2
call fcn.004017ec
dec dword [esi + 0x1c]
lea eax, [ebp - 0xf4c8]
xor edx, edx
call fcn.004096ec
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
lea eax, [ebp - 0x19e4]
mov edx, 2
call fcn.004017ec
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
lea eax, [ebp - 0x2710]
mov edx, 2
call fcn.004017ec
sub dword [esi + 0x1c], 2
lea eax, [ebp - 0x6694]
mov edx, 2
call fcn.004282c8
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
lea eax, [ebp - 0x6bf8]
mov edx, 2
call fcn.004017ec
dec dword [esi + 0x1c]
lea eax, [ebp - 0x7a64]
xor edx, edx
call fcn.004096ec
pop eax
mov edx, dword [esi]
mov dword fs:[0], edx
jmp 0x42576a
cmp ebx, 1
jne 0x424c62
lea eax, [ebp - 0xf4c8]
call fcn.004099e0
mov edx, dword [ebp - 0xf4fc]
cmp byte [edx + 0x20e8], 0
jne 0x424c62
push 0x24
mov eax, 0x262
call fcn.004125b4
push eax
mov eax, 0x275
call fcn.004125b4
push eax
push dword [0x4c4e30]
call sub.USER32.DLL_MessageBoxA
cmp eax, 6
je 0x424c62
mov al, 1
mov edx, 2
push eax
lea eax, [ebp - 0x9448]
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
call fcn.004017ec
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
lea eax, [ebp - 0xa174]
mov edx, 2
call fcn.004017ec
sub dword [esi + 0x1c], 2
lea eax, [ebp - 0xe0f8]
mov edx, 2
call fcn.004282c8
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
lea eax, [ebp - 0xe65c]
mov edx, 2
call fcn.004017ec
dec dword [esi + 0x1c]
lea eax, [ebp - 0xf4c8]
xor edx, edx
call fcn.004096ec
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
lea eax, [ebp - 0x19e4]
mov edx, 2
call fcn.004017ec
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
lea eax, [ebp - 0x2710]
mov edx, 2
call fcn.004017ec
sub dword [esi + 0x1c], 2
lea eax, [ebp - 0x6694]
mov edx, 2
call fcn.004282c8
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
lea eax, [ebp - 0x6bf8]
mov edx, 2
call fcn.004017ec
dec dword [esi + 0x1c]
lea eax, [ebp - 0x7a64]
xor edx, edx
call fcn.004096ec
pop eax
mov edx, dword [esi]
mov dword fs:[0], edx
jmp 0x42576a
test ebx, ebx
jne 0x424c71
lea eax, [ebp - 0xf4c8]
call fcn.00409a74
push 0
push 0
lea eax, [ebp - 0x7a64]
xor edx, edx
call fcn.00409e1c
push 0
push 0
lea ecx, [ebp - 0xf50a]
push ecx
push 0x80000000
push 0
push 0
lea ecx, [ebp - 0xfd2c]
lea edx, [ebp - 0xf4c8]
mov eax, dword [ebp - 0xf4fc]
call fcn.0040b5f0
test al, al
jne 0x424dce
cmp byte [ebp - 0xf50a], 0
jne 0x424cdd
mov eax, 0x4b1ad4
mov edx, 9
call fcn.0042d6f0
lea edx, [ebp - 0xfd2c]
mov eax, 0x4b1ad4
call fcn.0042d5c4
xor eax, eax
mov edx, 2
mov al, byte [ebp - 0xf50a]
cmp eax, 1
sbb eax, eax
neg eax
push eax
lea eax, [ebp - 0x9448]
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
call fcn.004017ec
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
lea eax, [ebp - 0xa174]
mov edx, 2
call fcn.004017ec
sub dword [esi + 0x1c], 2
lea eax, [ebp - 0xe0f8]
mov edx, 2
call fcn.004282c8
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
lea eax, [ebp - 0xe65c]
mov edx, 2
call fcn.004017ec
dec dword [esi + 0x1c]
lea eax, [ebp - 0xf4c8]
xor edx, edx
call fcn.004096ec
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
lea eax, [ebp - 0x19e4]
mov edx, 2
call fcn.004017ec
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
lea eax, [ebp - 0x2710]
mov edx, 2
call fcn.004017ec
sub dword [esi + 0x1c], 2
lea eax, [ebp - 0x6694]
mov edx, 2
call fcn.004282c8
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
lea eax, [ebp - 0x6bf8]
mov edx, 2
call fcn.004017ec
dec dword [esi + 0x1c]
lea eax, [ebp - 0x7a64]
xor edx, edx
call fcn.004096ec
pop eax
mov edx, dword [esi]
mov dword fs:[0], edx
jmp 0x42576a
lea eax, [ebp - 0x7a64]
call fcn.0040a0d4
mov dword [ebp - 0xf514], eax
mov dword [ebp - 0xf510], edx
lea edx, [ebp - 0xfd2c]
mov eax, 0x267
push edx
call fcn.004125b4
push eax
lea edx, [ebp - 0x1032c]
push edx
call fcn.0049abc0
add esp, 0xc
lea eax, [ebp - 0x1032c]
call fcn.00474960
mov byte [ebp - 0xf515], 0
lea eax, [ebp - 0x7a64]
xor edx, edx
call fcn.004046cc
test al, al
je 0x424f5b
mov byte [ebp - 0xf515], 1
mov cx, word [ebp - 0x3350]
mov word [ebp - 0xadb4], cx
mov ax, word [ebp - 0x334e]
mov word [ebp - 0xadb2], ax
cmp byte [ebp - 0xc2c], 0
je 0x424f5b
mov eax, 0x272
call fcn.004125b4
push eax
lea edx, [ebp - 0x7a4d]
push edx
call fcn.0047d1f0
add esp, 8
mov al, 1
push eax
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
lea eax, [ebp - 0x9448]
mov edx, 2
call fcn.004017ec
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
lea eax, [ebp - 0xa174]
mov edx, 2
call fcn.004017ec
sub dword [esi + 0x1c], 2
lea eax, [ebp - 0xe0f8]
mov edx, 2
call fcn.004282c8
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
lea eax, [ebp - 0xe65c]
mov edx, 2
call fcn.004017ec
dec dword [esi + 0x1c]
lea eax, [ebp - 0xf4c8]
xor edx, edx
call fcn.004096ec
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
lea eax, [ebp - 0x19e4]
mov edx, 2
call fcn.004017ec
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
lea eax, [ebp - 0x2710]
mov edx, 2
call fcn.004017ec
sub dword [esi + 0x1c], 2
lea eax, [ebp - 0x6694]
mov edx, 2
call fcn.004282c8
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
lea eax, [ebp - 0x6bf8]
mov edx, 2
call fcn.004017ec
dec dword [esi + 0x1c]
lea eax, [ebp - 0x7a64]
xor edx, edx
call fcn.004096ec
pop eax
mov edx, dword [esi]
mov dword fs:[0], edx
jmp 0x42576a
xor ecx, ecx
lea eax, [ebp - 0xf4c8]
mov dword [ebp - 0xadac], ecx
mov edx, 0x72
mov word [ebp - 0xadb0], cx
and word [ebp - 0xadb4], 0xff9f
xor ecx, ecx
call fcn.00401cac
lea eax, [ebp - 0xf4c8]
xor ecx, ecx
mov edx, 0x73
call fcn.00401cac
mov eax, dword [ebp - 0xc3c]
mov edx, dword [ebp - 0xc38]
add eax, 0xd
adc edx, 0
push edx
push eax
lea eax, [ebp - 0x7a64]
xor edx, edx
call fcn.00409e1c
movzx eax, word [ebp - 0xadb2]
add eax, 0xfffffff3
cdq
push edx
push eax
lea edx, [ebp - 0xf4c8]
lea eax, [ebp - 0x7a64]
call fcn.0040a168
push 0
push 0
lea eax, [ebp - 0x7a64]
xor edx, edx
call fcn.00409e1c
mov word [esi + 0x10], 0x2c
lea eax, [ebp - 0xf4d4]
mov edx, 0x10000
call fcn.00401c08
inc dword [esi + 0x1c]
mov word [esi + 0x10], 0x14
mov dword [ebp - 0xf520], 0
mov dword [ebp - 0xf51c], 0
mov dword [ebp - 0xf528], 0
mov dword [ebp - 0xf524], 0
lea eax, [ebp - 0x7a64]
mov ecx, dword [ebp - 0xf4d0]
mov edx, dword [ebp - 0xf4d4]
call fcn.00409cb8
mov eax, dword [ebp - 0xf4d0]
add eax, 0xfffff000
cdq
add dword [ebp - 0xf528], eax
adc dword [ebp - 0xf524], edx
mov eax, dword [ebp - 0xf4d0]
add eax, 0xfffff000
cdq
push edx
push eax
mov eax, dword [ebp - 0xf520]
mov edx, dword [ebp - 0xf51c]
call fcn.0049c24c
mov ebx, eax
xor eax, eax
add ebx, dword [ebp - 0xf4d4]
xor ecx, ecx
mov word [esi + 0x10], 0x14
mov al, byte [ebx + 2]
xor edx, edx
mov dword [ebp - 0xada0], eax
xor eax, eax
mov cl, byte [ebx + 6]
mov dl, byte [ebx + 5]
shl ecx, 8
add dx, cx
mov word [ebp - 0xad9a], dx
xor edx, edx
mov dl, byte [ebx + 0x1b]
mov al, byte [ebx + 0x1a]
shl edx, 8
add ax, dx
mov word [ebp - 0xad82], ax
cmp dword [ebp - 0xada0], 0x74
jne 0x4254fd
cmp word [ebp - 0xad9a], 0x1000
jae 0x4254fd
cmp word [ebp - 0xad82], 0
jbe 0x4254fd
cmp word [ebp - 0xad82], 0x400
jae 0x4254fd
xor eax, eax
xor ecx, ecx
mov al, byte [ebx + 1]
mov cl, byte [ebx]
shl eax, 8
xor edx, edx
add cx, ax
xor eax, eax
mov word [ebp - 0xada4], cx
xor ecx, ecx
mov cl, byte [ebx + 4]
mov dl, byte [ebx + 3]
shl ecx, 8
add dx, cx
xor ecx, ecx
mov word [ebp - 0xad9c], dx
xor edx, edx
mov dl, byte [ebx + 8]
mov al, byte [ebx + 7]
shl edx, 8
mov cl, byte [ebx + 9]
add eax, edx
xor edx, edx
mov dl, byte [ebx + 0xa]
shl ecx, 0x10
shl edx, 0x18
add eax, ecx
add eax, edx
xor ecx, ecx
mov dword [ebp - 0xad98], eax
xor eax, eax
mov cl, byte [ebx + 0xc]
mov al, byte [ebx + 0xb]
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 [ebp - 0xad94], eax
xor ecx, ecx
mov al, byte [ebx + 0xf]
mov byte [ebp - 0xad90], al
xor eax, eax
mov dl, byte [ebx + 0x11]
mov al, byte [ebx + 0x10]
shl edx, 8
mov cl, byte [ebx + 0x12]
add eax, edx
xor edx, edx
mov dl, byte [ebx + 0x13]
shl ecx, 0x10
shl edx, 0x18
add eax, ecx
add eax, edx
xor ecx, ecx
mov dword [ebp - 0xad8c], eax
xor eax, eax
mov cl, byte [ebx + 0x15]
mov al, byte [ebx + 0x14]
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 [ebp - 0xad88], eax
xor edx, edx
mov al, byte [ebx + 0x18]
mov byte [ebp - 0xad84], al
mov al, byte [ebx + 0x19]
mov byte [ebp - 0xad83], al
xor eax, eax
mov cl, byte [ebx + 0x1d]
mov dl, byte [ebx + 0x1c]
shl ecx, 8
mov al, byte [ebx + 0x1e]
add edx, ecx
xor ecx, ecx
mov cl, byte [ebx + 0x1f]
shl eax, 0x10
shl ecx, 0x18
add edx, eax
add edx, ecx
mov dword [ebp - 0xad80], edx
test byte [ebp - 0xad9b], 1
je 0x42526e
xor eax, eax
xor edx, edx
mov al, byte [ebx + 0x21]
mov dl, byte [ebx + 0x20]
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 [ebp - 0xad7c], edx
xor edx, edx
mov cl, byte [ebx + 0x25]
mov dl, byte [ebx + 0x24]
shl ecx, 8
xor eax, eax
add edx, ecx
mov al, byte [ebx + 0x26]
xor ecx, ecx
mov cl, byte [ebx + 0x27]
shl eax, 0x10
shl ecx, 0x18
add edx, eax
add edx, ecx
mov dword [ebp - 0xad78], edx
jmp 0x42527c
xor edx, edx
mov dword [ebp - 0xad78], edx
mov dword [ebp - 0xad7c], edx
mov eax, dword [ebp - 0xad7c]
xor edx, edx
mov edx, eax
xor eax, eax
push edx
push eax
mov eax, dword [ebp - 0xad98]
xor edx, edx
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
mov dword [ebp - 0xa0b0], eax
mov dword [ebp - 0xa0ac], edx
mov eax, dword [ebp - 0xad78]
xor edx, edx
mov edx, eax
xor eax, eax
push edx
push eax
mov eax, dword [ebp - 0xad94]
xor edx, edx
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
mov dword [ebp - 0xa0a8], eax
mov dword [ebp - 0xa0a4], edx
movzx ecx, word [ebp - 0xad82]
push ecx
lea eax, [ebp - 0xf4c8]
xor edx, edx
call fcn.004257d5
add eax, ebx
push eax
lea ecx, [ebp - 0xad74]
push ecx
call fcn.00497a70
add esp, 0xc
test byte [ebp - 0xad9b], 2
je 0x42534e
lea eax, [ebp - 0x10340]
call fcn.004120b4
lea edx, [ebp - 0xad74]
push edx
call fcn.00497c90
pop ecx
inc eax
movzx ecx, word [ebp - 0xad82]
sub ecx, eax
lea edx, [ebp - 0xa974]
push ecx
lea ecx, [ebp - 0xad74]
add ecx, eax
push edx
lea edx, [ebp - 0xad74]
push 0x400
lea eax, [ebp - 0x10340]
call fcn.00412350
jmp 0x425357
mov word [ebp - 0xa974], 0
test byte [ebp - 0xad9b], 4
je 0x42538a
push 8
lea eax, [ebp - 0xf4c8]
xor edx, edx
call fcn.004257d5
add eax, ebx
movzx ecx, word [ebp - 0xad82]
add eax, ecx
push eax
lea eax, [ebp - 0xa168]
push eax
call fcn.00497a70
add esp, 0xc
movzx edi, word [ebp - 0xad9a]
add edi, 0xfffffffe
mov byte [ebp - 0xf529], 0
test edi, edi
jg 0x4253a8
mov byte [ebp - 0xf529], 1
jmp 0x4253e7
test byte [ebp - 0xad9c], 8
je 0x4253cc
lea eax, [ebp - 0xf4c8]
mov dl, 1
call fcn.004257d5
mov edi, eax
movzx eax, word [ebp - 0xad82]
add edi, eax
add edi, 0xfffffffe
lea edx, [ebx + 2]
mov ecx, edi
or eax, 0xffffffff
call fcn.00410c94
not ax
and ax, 0xffff
mov word [ebp - 0x867e], ax
cmp byte [ebp - 0xf529], 0
jne 0x4254fd
lea ecx, [ebp - 0xf509]
lea edx, [ebp - 0xf4c8]
mov eax, dword [ebp - 0xf4fc]
call fcn.00425771
test al, al
je 0x4254fd
movzx eax, word [ebp - 0xad9a]
cdq
add eax, dword [ebp - 0xf520]
mov bl, 1
adc edx, dword [ebp - 0xf51c]
push edx
push eax
lea eax, [ebp - 0x7a64]
xor edx, edx
call fcn.00409e1c
movzx ecx, word [ebp - 0xad82]
mov byte [ebp + ecx - 0xad74], 0
call fcn.0040ff54
test bl, bl
je 0x4254fd
cmp word [ebp - 0xa974], 0
jne 0x42546b
lea eax, [ebp - 0xad74]
mov dl, 1
call fcn.0040c69c
movzx ecx, word [ebp - 0xad9c]
and ecx, 0xffffefff
or dword [ebp - 0xf508], ecx
lea eax, [ebp - 0xf4c8]
mov dl, 1
call fcn.004257d5
add ax, word [ebp - 0xad82]
mov word [ebp - 0xad9a], ax
lea eax, [ebp - 0xad74]
call fcn.0040f1c8
push eax
mov eax, 0x268
call fcn.004125b4
push eax
lea edx, [ebp - 0x1032c]
push edx
call fcn.0049abc0
add esp, 0xc
lea eax, [ebp - 0x1032c]
call fcn.00474960
inc dword [ebp - 0xf504]
lea eax, [ebp - 0xf4c8]
xor ecx, ecx
mov edx, 0x74
call fcn.00401cac
mov eax, dword [ebp - 0xad98]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0xf4c8]
lea eax, [ebp - 0x7a64]
call fcn.0040a168
add dword [ebp - 0xf520], 1
adc dword [ebp - 0xf51c], 0
mov eax, dword [ebp - 0xf514]
mov edx, dword [ebp - 0xf510]
sub eax, 0x20
sbb edx, 0
cmp edx, dword [ebp - 0xf51c]
jne 0x425532
cmp eax, dword [ebp - 0xf520]
ja 0x425534
jmp 0x4255b2
jle 0x4255b2
mov eax, dword [ebp - 0xf4d0]
add eax, 0xfffff000
cdq
push edx
push eax
mov eax, dword [ebp - 0xf520]
mov edx, dword [ebp - 0xf51c]
call fcn.0049c24c
cmp edx, 0
jne 0x42505d
cmp eax, 0
jne 0x42505d
push dword [ebp - 0xf524]
push dword [ebp - 0xf528]
lea eax, [ebp - 0x7a64]
xor edx, edx
call fcn.00409e1c
lea eax, [ebp - 0x7a64]
mov ecx, dword [ebp - 0xf4d0]
mov edx, dword [ebp - 0xf4d4]
call fcn.00409cb8
mov eax, dword [ebp - 0xf4d0]
add eax, 0xfffff000
cdq
add dword [ebp - 0xf528], eax
adc dword [ebp - 0xf524], edx
jmp 0x42505d
test byte [ebp - 0xf508], 3
je 0x4255c3
or word [ebp - 0xadb4], 1
cmp dword [ebp - 0xf504], 0
jle 0x425614
cmp byte [ebp - 0xf515], 0
jne 0x425614
mov ecx, dword [ebp - 0xf4fc]
cmp byte [ecx + 0x20e8], 0
jne 0x425614
push 0x24
mov eax, 0x262
call fcn.004125b4
push eax
mov eax, 0x273
call fcn.004125b4
push eax
push dword [0x4c4e30]
call sub.USER32.DLL_MessageBoxA
cmp eax, 6
jne 0x425614
or word [ebp - 0xadb4], 8
cmp dword [ebp - 0xf504], 0
jne 0x425638
mov eax, 0x274
call fcn.004125b4
push eax
push dword [ebp - 0xf500]
call fcn.0047d1f0
add esp, 8
jmp 0x425678
push 0
push 0
lea eax, [ebp - 0xf4c8]
xor edx, edx
call fcn.00409e1c
lea eax, [ebp - 0xf4c8]
xor ecx, ecx
mov edx, 0x72
call fcn.00401cac
lea eax, [ebp - 0xf4c8]
xor ecx, ecx
mov edx, 0x73
call fcn.00401cac
lea eax, [ebp - 0xf4c8]
call fcn.004099e0
mov al, 1
mov edx, 2
push eax
lea eax, [ebp - 0xf4d4]
dec dword [esi + 0x1c]
call fcn.00401c80
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
lea eax, [ebp - 0x9448]
mov edx, 2
call fcn.004017ec
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
lea eax, [ebp - 0xa174]
mov edx, 2
call fcn.004017ec
sub dword [esi + 0x1c], 2
lea eax, [ebp - 0xe0f8]
mov edx, 2
call fcn.004282c8
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
lea eax, [ebp - 0xe65c]
mov edx, 2
call fcn.004017ec
dec dword [esi + 0x1c]
lea eax, [ebp - 0xf4c8]
xor edx, edx
call fcn.004096ec
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
lea eax, [ebp - 0x19e4]
mov edx, 2
call fcn.004017ec
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
lea eax, [ebp - 0x2710]
mov edx, 2
call fcn.004017ec
sub dword [esi + 0x1c], 2
lea eax, [ebp - 0x6694]
mov edx, 2
call fcn.004282c8
dec dword [esi + 0x1c]
dec dword [esi + 0x1c]
lea eax, [ebp - 0x6bf8]
mov edx, 2
call fcn.004017ec
dec dword [esi + 0x1c]
lea eax, [ebp - 0x7a64]
xor edx, edx
call fcn.004096ec
pop eax
mov edx, dword [esi]
mov dword fs:[0], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret