Function at 0x42914e
Capabilities:
Enumerate pe sections

Disassembly:
push ebx
push esi
push edi
push ebp
push eax
mov eax, 0xe
add esp, 0xfffff004
push eax
dec eax
jne 0x429158
mov eax, dword [esp + 0xe000]
add esp, 0xfffff350
mov ebp, eax
xor eax, eax
mov ebx, edx
mov dword [esp], eax
xor edx, edx
lea eax, [esp + 0x2c]
mov dword [esp + 4], edx
mov edx, ebp
mov byte [esp + 8], 0
lea edi, [esp + 0x7260]
mov esi, ecx
call fcn.0040966c
mov eax, edi
mov edx, ebp
call fcn.0040966c
lea eax, [esp + 0x2c]
mov ecx, esi
mov edx, ebx
call fcn.00403198
mov byte [esp + 0x3d], 1
push str.fixed.
lea eax, [esp + 0xe498]
push eax
call fcn.0043a8d0
add esp, 8
mov eax, ebx
call fcn.004019d8
push eax
lea edx, [esp + 0xe498]
push edx
call fcn.0043a7f4
add esp, 8
xor edx, edx
lea eax, [esp + 0xe494]
call fcn.00402334
push str.rebuilt.
lea ecx, [esp + 0xe898]
push ecx
call fcn.0043a8d0
add esp, 8
mov eax, ebx
call fcn.004019d8
push eax
lea edx, [esp + 0xe898]
push edx
call fcn.0043a7f4
add esp, 8
mov edx, 0x4440a9
mov eax, ebx
call fcn.00401e24
test al, al
jne 0x42923a
mov edx, 0x4440ad
mov eax, ebx
call fcn.00401e24
test al, al
je 0x42924b
mov edx, 0x4440b1
lea eax, [esp + 0xe894]
call fcn.00401d0c
lea eax, [esp + 0xe894]
xor edx, edx
call fcn.00402334
push 0
mov edx, edi
push dword [ebp + 0x20a4]
lea ecx, [esp + 0x11]
mov eax, ebp
push ecx
push 0x80000000
push 0
push 0
lea ecx, [esp + 0xe4ac]
call fcn.00404870
test al, al
jne 0x429351
cmp byte [esp + 9], 0
jne 0x4292ae
mov eax, 0x447970
mov edx, 9
call fcn.00432b74
lea edx, [esp + 0xe494]
mov eax, 0x447970
call fcn.004329e4
mov al, byte [esp + 9]
push eax
lea eax, [edi + 0x5850]
mov edx, 2
call fcn.00402824
lea eax, [edi + 0x4b24]
mov edx, 2
call fcn.00402824
lea eax, [edi + 0x13bc]
mov edx, 2
call fcn.0042d780
lea eax, [edi + 0xe6c]
mov edx, 2
call fcn.00402824
mov eax, edi
xor edx, edx
call fcn.0040302c
lea eax, [esp + 0x5880]
mov edx, 2
call fcn.00402824
lea eax, [esp + 0x4b54]
mov edx, 2
call fcn.00402824
lea eax, [esp + 0x13ec]
mov edx, 2
call fcn.0042d780
lea eax, [esp + 0xe9c]
mov edx, 2
call fcn.00402824
lea eax, [esp + 0x30]
xor edx, edx
call fcn.0040302c
pop eax
jmp 0x429e74
lea edx, [esp + 0xe494]
mov eax, 0xdd4
push edx
call fcn.0040e8b4
push eax
call fcn.0042ad28
add esp, 8
mov edx, edi
lea eax, [esp + 0x2c]
call fcn.004280d8
mov esi, eax
cmp esi, 2
jne 0x42942a
mov eax, edi
call fcn.00403320
mov al, 1
push eax
lea eax, [edi + 0x5850]
mov edx, 2
call fcn.00402824
lea eax, [edi + 0x4b24]
mov edx, 2
call fcn.00402824
lea eax, [edi + 0x13bc]
mov edx, 2
call fcn.0042d780
lea eax, [edi + 0xe6c]
mov edx, 2
call fcn.00402824
mov eax, edi
xor edx, edx
call fcn.0040302c
lea eax, [esp + 0x5880]
mov edx, 2
call fcn.00402824
lea eax, [esp + 0x4b54]
mov edx, 2
call fcn.00402824
lea eax, [esp + 0x13ec]
mov edx, 2
call fcn.0042d780
lea eax, [esp + 0xe9c]
mov edx, 2
call fcn.00402824
lea eax, [esp + 0x30]
xor edx, edx
call fcn.0040302c
pop eax
jmp 0x429e74
cmp esi, 1
jne 0x42950f
mov eax, edi
call fcn.00403320
cmp byte [ebp + 0x20e8], 0
jne 0x42950f
mov eax, 0xde8
call fcn.0040e8b4
push eax
call fcn.0042ad60
pop ecx
mov eax, 0xbba
call fcn.0040e8b4
call fcn.0042b008
dec eax
je 0x42950f
mov al, 1
push eax
lea eax, [edi + 0x5850]
mov edx, 2
call fcn.00402824
lea eax, [edi + 0x4b24]
mov edx, 2
call fcn.00402824
lea eax, [edi + 0x13bc]
mov edx, 2
call fcn.0042d780
lea eax, [edi + 0xe6c]
mov edx, 2
call fcn.00402824
mov eax, edi
xor edx, edx
call fcn.0040302c
lea eax, [esp + 0x5880]
mov edx, 2
call fcn.00402824
lea eax, [esp + 0x4b54]
mov edx, 2
call fcn.00402824
lea eax, [esp + 0x13ec]
mov edx, 2
call fcn.0042d780
lea eax, [esp + 0xe9c]
mov edx, 2
call fcn.00402824
lea eax, [esp + 0x30]
xor edx, edx
call fcn.0040302c
pop eax
jmp 0x429e74
test esi, esi
jne 0x42951a
mov eax, edi
call fcn.004033b4
push 0
push 0
lea eax, [esp + 0x34]
xor edx, edx
call fcn.0040375c
push 0
push 0
lea ecx, [esp + 0x11]
push ecx
push 0x80000000
push 0
push 0
lea ecx, [esp + 0xe8ac]
mov edx, edi
mov eax, ebp
call fcn.00404870
test al, al
jne 0x429626
cmp byte [esp + 9], 0
jne 0x42957a
mov eax, 0x447970
mov edx, 9
call fcn.00432b74
lea edx, [esp + 0xe894]
mov eax, 0x447970
call fcn.004329e4
xor eax, eax
mov al, byte [esp + 9]
cmp eax, 1
sbb eax, eax
neg eax
push eax
lea eax, [edi + 0x5850]
mov edx, 2
call fcn.00402824
lea eax, [edi + 0x4b24]
mov edx, 2
call fcn.00402824
lea eax, [edi + 0x13bc]
mov edx, 2
call fcn.0042d780
lea eax, [edi + 0xe6c]
mov edx, 2
call fcn.00402824
mov eax, edi
xor edx, edx
call fcn.0040302c
lea eax, [esp + 0x5880]
mov edx, 2
call fcn.00402824
lea eax, [esp + 0x4b54]
mov edx, 2
call fcn.00402824
lea eax, [esp + 0x13ec]
mov edx, 2
call fcn.0042d780
lea eax, [esp + 0xe9c]
mov edx, 2
call fcn.00402824
lea eax, [esp + 0x30]
xor edx, edx
call fcn.0040302c
pop eax
jmp 0x429e74
lea eax, [esp + 0x2c]
call fcn.00403a14
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
push ebx
mov eax, 0xdd2
call fcn.0040e8b4
push eax
call fcn.0042ad28
add esp, 8
mov eax, 0xdd4
lea edx, [esp + 0xe894]
push edx
call fcn.0040e8b4
push eax
call fcn.0042ad28
add esp, 8
xor edx, edx
mov byte [esp + 0x14], 0
lea eax, [esp + 0x2c]
call fcn.004099a4
test al, al
je 0x429768
mov byte [esp + 0x14], 1
mov cx, word [esp + 0x3f10]
mov word [edi + 0x3ee4], cx
mov ax, word [esp + 0x3f12]
mov word [edi + 0x3ee6], ax
cmp byte [esp + 0x6634], 0
je 0x429768
mov eax, 0xdd6
call fcn.0040e8b4
push eax
lea edx, [esp + 0x47]
push edx
call fcn.0042acac
add esp, 8
mov al, 1
push eax
lea eax, [edi + 0x5850]
mov edx, 2
call fcn.00402824
lea eax, [edi + 0x4b24]
mov edx, 2
call fcn.00402824
lea eax, [edi + 0x13bc]
mov edx, 2
call fcn.0042d780
lea eax, [edi + 0xe6c]
mov edx, 2
call fcn.00402824
mov eax, edi
xor edx, edx
call fcn.0040302c
lea eax, [esp + 0x5880]
mov edx, 2
call fcn.00402824
lea eax, [esp + 0x4b54]
mov edx, 2
call fcn.00402824
lea eax, [esp + 0x13ec]
mov edx, 2
call fcn.0042d780
lea eax, [esp + 0xe9c]
mov edx, 2
call fcn.00402824
lea eax, [esp + 0x30]
xor edx, edx
call fcn.0040302c
pop eax
jmp 0x429e74
xor edx, edx
mov dword [edi + 0x3eec], edx
mov word [edi + 0x3ee8], dx
and word [edi + 0x3ee4], 0xff9f
mov eax, edi
xor ecx, ecx
mov edx, 0x72
call fcn.00407488
mov eax, edi
xor ecx, ecx
mov edx, 0x73
call fcn.00407488
mov eax, dword [esp + 0x6624]
mov edx, dword [esp + 0x6628]
add eax, 0xd
adc edx, 0
push edx
push eax
lea eax, [esp + 0x34]
xor edx, edx
call fcn.0040375c
movzx eax, word [edi + 0x3ee6]
add eax, 0xfffffff3
cdq
push edx
push eax
mov edx, edi
lea eax, [esp + 0x34]
call fcn.00403b38
push 0
push 0
lea eax, [esp + 0x34]
xor edx, edx
call fcn.0040375c
lea eax, [esp + 0xec94]
mov edx, 0x10000
call fcn.00403bec
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
lea eax, [esp + 0x2c]
mov ecx, dword [esp + 0xec98]
mov edx, dword [esp + 0xec94]
call fcn.004035f8
mov eax, dword [esp + 0xec98]
add eax, 0xfffff000
cdq
add dword [esp + 0x20], eax
adc dword [esp + 0x24], edx
mov eax, dword [esp + 0xec98]
add eax, 0xfffff000
cdq
push edx
push eax
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
call fcn.0043d4d4
mov ebx, eax
xor eax, eax
add ebx, dword [esp + 0xec94]
xor ecx, ecx
xor edx, edx
mov al, byte [ebx + 2]
mov dword [edi + 0x3ef8], eax
xor eax, eax
mov cl, byte [ebx + 6]
mov dl, byte [ebx + 5]
shl ecx, 8
add dx, cx
mov word [edi + 0x3efe], dx
xor edx, edx
mov dl, byte [ebx + 0x1b]
mov al, byte [ebx + 0x1a]
shl edx, 8
add ax, dx
mov word [edi + 0x3f16], ax
cmp dword [edi + 0x3ef8], 0x74
jne 0x429c94
cmp word [edi + 0x3efe], 0x1000
jae 0x429c94
cmp word [edi + 0x3f16], 0
jbe 0x429c94
cmp word [edi + 0x3f16], 0x400
jae 0x429c94
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 [edi + 0x3ef4], 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 [edi + 0x3efc], 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 [edi + 0x3f00], 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 [edi + 0x3f04], eax
xor ecx, ecx
mov al, byte [ebx + 0xf]
mov byte [edi + 0x3f08], 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 [edi + 0x3f0c], 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 [edi + 0x3f10], eax
xor edx, edx
mov al, byte [ebx + 0x18]
mov byte [edi + 0x3f14], al
mov al, byte [ebx + 0x19]
mov byte [edi + 0x3f15], 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 [edi + 0x3f18], edx
test byte [edi + 0x3efd], 1
je 0x429a4a
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 [edi + 0x3f1c], 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 [edi + 0x3f20], edx
jmp 0x429a58
xor edx, edx
mov dword [edi + 0x3f20], edx
mov dword [edi + 0x3f1c], edx
mov eax, dword [edi + 0x3f1c]
xor edx, edx
mov edx, eax
xor eax, eax
push edx
push eax
mov eax, dword [edi + 0x3f00]
xor edx, edx
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
mov dword [edi + 0x4be8], eax
mov dword [edi + 0x4bec], edx
mov eax, dword [edi + 0x3f20]
xor edx, edx
mov edx, eax
xor eax, eax
push edx
push eax
mov eax, dword [edi + 0x3f04]
xor edx, edx
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
mov dword [edi + 0x4bf0], eax
mov dword [edi + 0x4bf4], edx
movzx ecx, word [edi + 0x3f16]
push ecx
mov eax, edi
xor edx, edx
call fcn.00429ee3
add eax, ebx
push eax
lea ecx, [edi + 0x3f24]
push ecx
call fcn.0043a6e0
add esp, 0xc
test byte [edi + 0x3efd], 2
je 0x429b28
lea eax, [esp + 0xeca0]
call fcn.0040e418
lea edx, [edi + 0x3f24]
push edx
call fcn.0043a900
pop ecx
inc eax
movzx ecx, word [edi + 0x3f16]
sub ecx, eax
lea edx, [edi + 0x4324]
push ecx
lea ecx, [edi + 0x3f24]
push edx
push 0x400
add ecx, eax
lea eax, [esp + 0xecac]
lea edx, [edi + 0x3f24]
call fcn.0040e690
jmp 0x429b31
mov word [edi + 0x4324], 0
test byte [edi + 0x3efd], 4
je 0x429b60
push 8
mov eax, edi
xor edx, edx
call fcn.00429ee3
add eax, ebx
movzx ecx, word [edi + 0x3f16]
add eax, ecx
push eax
lea eax, [edi + 0x4b30]
push eax
call fcn.0043a6e0
add esp, 0xc
movzx esi, word [edi + 0x3efe]
add esi, 0xfffffffe
mov byte [esp + 0x28], 0
test esi, esi
jg 0x429b7a
mov byte [esp + 0x28], 1
jmp 0x429bb5
test byte [edi + 0x3efc], 8
je 0x429b9a
mov eax, edi
mov dl, 1
call fcn.00429ee3
mov esi, eax
movzx eax, word [edi + 0x3f16]
add esi, eax
add esi, 0xfffffffe
lea edx, [ebx + 2]
mov ecx, esi
or eax, 0xffffffff
call fcn.0040c154
not ax
and ax, 0xffff
mov word [edi + 0x661a], ax
cmp byte [esp + 0x28], 0
jne 0x429c94
lea ecx, [esp + 8]
mov edx, edi
mov eax, ebp
call fcn.00429e7f
test al, al
je 0x429c94
movzx eax, word [edi + 0x3efe]
cdq
add eax, dword [esp + 0x18]
mov bl, 1
adc edx, dword [esp + 0x1c]
push edx
push eax
lea eax, [esp + 0x34]
xor edx, edx
call fcn.0040375c
movzx ecx, word [edi + 0x3f16]
mov byte [edi + ecx + 0x3f24], 0
call fcn.0040bd24
test bl, bl
je 0x429c94
cmp word [edi + 0x4324], 0
jne 0x429c27
lea eax, [edi + 0x3f24]
mov dl, 1
call fcn.00402334
movzx ecx, word [edi + 0x3efc]
and ecx, 0xffffefff
or dword [esp + 4], ecx
mov eax, edi
mov dl, 1
call fcn.00429ee3
add ax, word [edi + 0x3f16]
mov word [edi + 0x3efe], ax
lea eax, [edi + 0x3f24]
call fcn.00401710
push eax
mov eax, 0xdd8
call fcn.0040e8b4
push eax
call fcn.0042ad28
add esp, 8
mov eax, edi
mov edx, 0x74
inc dword [esp]
xor ecx, ecx
call fcn.00407488
mov eax, dword [edi + 0x3f00]
xor edx, edx
push edx
push eax
mov edx, edi
lea eax, [esp + 0x34]
call fcn.00403b38
add dword [esp + 0x18], 1
adc dword [esp + 0x1c], 0
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
sub eax, 0x20
sbb edx, 0
cmp edx, dword [esp + 0x1c]
jne 0x429cba
cmp eax, dword [esp + 0x18]
ja 0x429cbc
jmp 0x429d2e
jle 0x429d2e
mov eax, dword [esp + 0xec98]
add eax, 0xfffff000
cdq
push edx
push eax
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
call fcn.0043d4d4
cmp edx, 0
jne 0x429841
cmp eax, 0
jne 0x429841
push dword [esp + 0x24]
push dword [esp + 0x24]
lea eax, [esp + 0x34]
xor edx, edx
call fcn.0040375c
lea eax, [esp + 0x2c]
mov ecx, dword [esp + 0xec98]
mov edx, dword [esp + 0xec94]
call fcn.004035f8
mov eax, dword [esp + 0xec98]
add eax, 0xfffff000
cdq
add dword [esp + 0x20], eax
adc dword [esp + 0x24], edx
jmp 0x429841
test byte [esp + 4], 3
je 0x429d3d
or word [edi + 0x3ee4], 1
cmp dword [esp], 0
jle 0x429d7e
cmp byte [esp + 0x14], 0
jne 0x429d7e
cmp byte [ebp + 0x20e8], 0
jne 0x429d7e
mov eax, 0xdda
call fcn.0040e8b4
push eax
call fcn.0042ad60
pop ecx
mov eax, 0xbba
call fcn.0040e8b4
call fcn.0042b008
dec eax
jne 0x429d7e
or word [edi + 0x3ee4], 8
cmp dword [esp], 0
jne 0x429d97
mov eax, 0xddc
call fcn.0040e8b4
push eax
call fcn.0042ad28
pop ecx
jmp 0x429dc7
push 0
push 0
mov eax, edi
xor edx, edx
call fcn.0040375c
mov eax, edi
xor ecx, ecx
mov edx, 0x72
call fcn.00407488
mov eax, edi
xor ecx, ecx
mov edx, 0x73
call fcn.00407488
mov eax, edi
call fcn.00403320
mov al, 1
push eax
lea eax, [esp + 0xec98]
mov edx, 2
call fcn.00401244
lea eax, [edi + 0x5850]
mov edx, 2
call fcn.00402824
lea eax, [edi + 0x4b24]
mov edx, 2
call fcn.00402824
lea eax, [edi + 0x13bc]
mov edx, 2
call fcn.0042d780
lea eax, [edi + 0xe6c]
mov edx, 2
call fcn.00402824
mov eax, edi
xor edx, edx
call fcn.0040302c
lea eax, [esp + 0x5880]
mov edx, 2
call fcn.00402824
lea eax, [esp + 0x4b54]
mov edx, 2
call fcn.00402824
lea eax, [esp + 0x13ec]
mov edx, 2
call fcn.0042d780
lea eax, [esp + 0xe9c]
mov edx, 2
call fcn.00402824
lea eax, [esp + 0x30]
xor edx, edx
call fcn.0040302c
pop eax
add esp, 0xecb4
pop ebp
pop edi
pop esi
pop ebx
ret