Function at 0x42487b
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 0x424885
mov eax, dword [esp + 0xe000]
add esp, 0xfffff3bc
mov edi, eax
xor eax, eax
mov dword [esp], ecx
mov ebx, edx
mov dword [esp + 4], eax
xor edx, edx
mov dword [esp + 8], edx
lea ebp, [esp + 0x38]
mov byte [esp + 0xc], 0
mov eax, ebp
mov edx, edi
lea esi, [esp + 0x7230]
call fcn.004089d0
mov eax, esi
mov edx, edi
call fcn.004089d0
mov eax, ebp
mov ecx, dword [esp]
mov edx, ebx
call fcn.00402f7c
mov byte [ebp + 0x11], 1
push str.fixed.
lea eax, [esp + 0xe42c]
push eax
call fcn.00435568
add esp, 8
mov eax, ebx
call fcn.00401964
push eax
lea edx, [esp + 0xe42c]
push edx
call fcn.0043548c
add esp, 8
xor edx, edx
lea eax, [esp + 0xe428]
call fcn.00402180
push str.rebuilt.
lea ecx, [esp + 0xe82c]
push ecx
call fcn.00435568
add esp, 8
mov eax, ebx
call fcn.00401964
push eax
lea edx, [esp + 0xe82c]
push edx
call fcn.0043548c
add esp, 8
mov edx, 0x43e031
mov eax, ebx
call fcn.00401d90
test al, al
jne 0x424969
mov edx, 0x43e035
mov eax, ebx
call fcn.00401d90
test al, al
je 0x42497a
mov edx, 0x43e039
lea eax, [esp + 0xe828]
call fcn.00401c78
lea eax, [esp + 0xe828]
xor edx, edx
call fcn.00402180
push 0
push 0
lea ecx, [esp + 0x15]
push ecx
push 0x80000000
push 0
push 0
lea ecx, [esp + 0xe440]
mov edx, esi
mov eax, edi
call fcn.0040449c
test al, al
jne 0x424a7f
cmp byte [esp + 0xd], 0
jne 0x4249d9
mov eax, 0x441738
mov edx, 9
call fcn.0042dafc
lea edx, [esp + 0xe428]
mov eax, 0x441738
call fcn.0042d96c
xor eax, eax
mov al, byte [esp + 0xd]
cmp eax, 1
sbb eax, eax
neg eax
push eax
lea eax, [esi + 0x5814]
mov edx, 2
call fcn.00402654
lea eax, [esi + 0x4aec]
mov edx, 2
call fcn.00402654
lea eax, [esi + 0x13bc]
mov edx, 2
call fcn.00428ce8
lea eax, [esi + 0xe6c]
mov edx, 2
call fcn.00402654
mov eax, esi
xor edx, edx
call fcn.00402e18
lea eax, [ebp + 0x5814]
mov edx, 2
call fcn.00402654
lea eax, [ebp + 0x4aec]
mov edx, 2
call fcn.00402654
lea eax, [ebp + 0x13bc]
mov edx, 2
call fcn.00428ce8
lea eax, [ebp + 0xe6c]
mov edx, 2
call fcn.00402654
mov eax, ebp
xor edx, edx
call fcn.00402e18
pop eax
jmp 0x425626
lea edx, [esp + 0xe428]
mov eax, 0xdbe
push edx
call fcn.0040d8a4
push eax
call fcn.00426660
add esp, 8
mov edx, esi
mov eax, ebp
call fcn.004238d4
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], 2
jne 0x424b54
mov eax, esi
call fcn.00403104
mov al, 1
push eax
lea eax, [esi + 0x5814]
mov edx, 2
call fcn.00402654
lea eax, [esi + 0x4aec]
mov edx, 2
call fcn.00402654
lea eax, [esi + 0x13bc]
mov edx, 2
call fcn.00428ce8
lea eax, [esi + 0xe6c]
mov edx, 2
call fcn.00402654
mov eax, esi
xor edx, edx
call fcn.00402e18
lea eax, [ebp + 0x5814]
mov edx, 2
call fcn.00402654
lea eax, [ebp + 0x4aec]
mov edx, 2
call fcn.00402654
lea eax, [ebp + 0x13bc]
mov edx, 2
call fcn.00428ce8
lea eax, [ebp + 0xe6c]
mov edx, 2
call fcn.00402654
mov eax, ebp
xor edx, edx
call fcn.00402e18
pop eax
jmp 0x425626
cmp dword [esp + 0x10], 1
jne 0x424c35
mov eax, esi
call fcn.00403104
cmp byte [edi + 0x20d8], 0
jne 0x424c35
mov eax, 0xdd2
call fcn.0040d8a4
push eax
call fcn.00426694
pop ecx
mov eax, 0xbba
call fcn.0040d8a4
call fcn.00426938
dec eax
je 0x424c35
mov al, 1
push eax
lea eax, [esi + 0x5814]
mov edx, 2
call fcn.00402654
lea eax, [esi + 0x4aec]
mov edx, 2
call fcn.00402654
lea eax, [esi + 0x13bc]
mov edx, 2
call fcn.00428ce8
lea eax, [esi + 0xe6c]
mov edx, 2
call fcn.00402654
mov eax, esi
xor edx, edx
call fcn.00402e18
lea eax, [ebp + 0x5814]
mov edx, 2
call fcn.00402654
lea eax, [ebp + 0x4aec]
mov edx, 2
call fcn.00402654
lea eax, [ebp + 0x13bc]
mov edx, 2
call fcn.00428ce8
lea eax, [ebp + 0xe6c]
mov edx, 2
call fcn.00402654
mov eax, ebp
xor edx, edx
call fcn.00402e18
pop eax
jmp 0x425626
cmp dword [esp + 0x10], 0
jne 0x424c43
mov eax, esi
call fcn.00403194
push 0
push 0
mov eax, ebp
xor edx, edx
call fcn.00403504
push 0
push 0
lea ecx, [esp + 0x15]
push ecx
push 0x80000000
push 0
push 0
lea ecx, [esp + 0xe840]
mov edx, esi
mov eax, edi
call fcn.0040449c
test al, al
jne 0x424d47
cmp byte [esp + 0xd], 0
jne 0x424ca1
mov eax, 0x441738
mov edx, 9
call fcn.0042dafc
lea edx, [esp + 0xe828]
mov eax, 0x441738
call fcn.0042d96c
xor eax, eax
mov al, byte [esp + 0xd]
cmp eax, 1
sbb eax, eax
neg eax
push eax
lea eax, [esi + 0x5814]
mov edx, 2
call fcn.00402654
lea eax, [esi + 0x4aec]
mov edx, 2
call fcn.00402654
lea eax, [esi + 0x13bc]
mov edx, 2
call fcn.00428ce8
lea eax, [esi + 0xe6c]
mov edx, 2
call fcn.00402654
mov eax, esi
xor edx, edx
call fcn.00402e18
lea eax, [ebp + 0x5814]
mov edx, 2
call fcn.00402654
lea eax, [ebp + 0x4aec]
mov edx, 2
call fcn.00402654
lea eax, [ebp + 0x13bc]
mov edx, 2
call fcn.00428ce8
lea eax, [ebp + 0xe6c]
mov edx, 2
call fcn.00402654
mov eax, ebp
xor edx, edx
call fcn.00402e18
pop eax
jmp 0x425626
mov eax, ebp
call fcn.004037bc
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
push ebx
mov eax, 0xdbc
call fcn.0040d8a4
push eax
call fcn.00426660
add esp, 8
mov eax, 0xdbe
lea edx, [esp + 0xe828]
push edx
call fcn.0040d8a4
push eax
call fcn.00426660
add esp, 8
xor edx, edx
mov eax, ebp
mov byte [esp + 0x1c], 0
call fcn.00408ce8
test al, al
je 0x424e7b
mov byte [esp + 0x1c], 1
mov cx, word [ebp + 0x3eac]
mov word [esi + 0x3eac], cx
mov ax, word [ebp + 0x3eae]
mov word [esi + 0x3eae], ax
cmp byte [ebp + 0x65cc], 0
je 0x424e7b
mov eax, 0xdc0
call fcn.0040d8a4
push eax
lea edx, [ebp + 0x16]
push edx
call fcn.00426600
add esp, 8
mov al, 1
push eax
lea eax, [esi + 0x5814]
mov edx, 2
call fcn.00402654
lea eax, [esi + 0x4aec]
mov edx, 2
call fcn.00402654
lea eax, [esi + 0x13bc]
mov edx, 2
call fcn.00428ce8
lea eax, [esi + 0xe6c]
mov edx, 2
call fcn.00402654
mov eax, esi
xor edx, edx
call fcn.00402e18
lea eax, [ebp + 0x5814]
mov edx, 2
call fcn.00402654
lea eax, [ebp + 0x4aec]
mov edx, 2
call fcn.00402654
lea eax, [ebp + 0x13bc]
mov edx, 2
call fcn.00428ce8
lea eax, [ebp + 0xe6c]
mov edx, 2
call fcn.00402654
mov eax, ebp
xor edx, edx
call fcn.00402e18
pop eax
jmp 0x425626
xor edx, edx
mov dword [esi + 0x3eb8], edx
mov word [esi + 0x3eb4], dx
and word [esi + 0x3eac], 0xff9f
mov eax, esi
xor ecx, ecx
mov edx, 0x72
call fcn.00406a8c
mov eax, esi
xor ecx, ecx
mov edx, 0x73
call fcn.00406a8c
mov eax, dword [ebp + 0x65bc]
mov edx, dword [ebp + 0x65c0]
add eax, 0xd
adc edx, 0
push edx
push eax
mov eax, ebp
xor edx, edx
call fcn.00403504
movzx eax, word [esi + 0x3eae]
add eax, 0xfffffff3
cdq
push edx
push eax
mov edx, esi
mov eax, ebp
call fcn.004038e0
push 0
push 0
mov eax, ebp
xor edx, edx
call fcn.00403504
lea eax, [esp + 0xec28]
mov edx, 0x7918
call fcn.00403994
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov eax, ebp
mov ecx, dword [esp + 0xec2c]
mov edx, dword [esp + 0xec28]
call fcn.004033a0
mov eax, dword [esp + 0xec2c]
add eax, 0xfffffc18
cdq
add dword [esp + 0x28], eax
adc dword [esp + 0x2c], edx
mov eax, dword [esp + 0xec2c]
add eax, 0xfffffc18
cdq
push edx
push eax
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
call fcn.00438350
mov ebx, eax
xor eax, eax
add ebx, dword [esp + 0xec28]
xor ecx, ecx
xor edx, edx
mov al, byte [ebx + 2]
mov dword [esi + 0x3ec0], eax
mov cl, byte [ebx + 0x1b]
mov dl, byte [ebx + 0x1a]
shl ecx, 8
add dx, cx
mov word [esi + 0x3ede], dx
cmp dword [esi + 0x3ec0], 0x74
jne 0x425449
cmp word [esi + 0x3ede], 0
jbe 0x425449
cmp word [esi + 0x3ede], 0x400
jae 0x425449
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 [esi + 0x3ebc], 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 [esi + 0x3ec4], cx
xor ecx, ecx
mov cl, byte [ebx + 6]
mov dl, byte [ebx + 5]
shl ecx, 8
add dx, cx
xor ecx, ecx
mov word [esi + 0x3ec6], 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 [esi + 0x3ec8], 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 [esi + 0x3ecc], eax
xor ecx, ecx
mov al, byte [ebx + 0xf]
mov byte [esi + 0x3ed0], 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 [esi + 0x3ed4], 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 [esi + 0x3ed8], eax
xor edx, edx
mov al, byte [ebx + 0x18]
mov byte [esi + 0x3edc], al
mov al, byte [ebx + 0x19]
mov byte [esi + 0x3edd], 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 [esi + 0x3ee0], edx
test byte [esi + 0x3ec5], 1
je 0x425144
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 [esi + 0x3ee4], 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 [esi + 0x3ee8], edx
jmp 0x425152
xor edx, edx
mov dword [esi + 0x3ee8], edx
mov dword [esi + 0x3ee4], edx
mov eax, dword [esi + 0x3ee4]
xor edx, edx
mov edx, eax
xor eax, eax
push edx
push eax
mov eax, dword [esi + 0x3ec8]
xor edx, edx
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
mov dword [esi + 0x4bb0], eax
mov dword [esi + 0x4bb4], edx
mov eax, dword [esi + 0x3ee8]
xor edx, edx
mov edx, eax
xor eax, eax
push edx
push eax
mov eax, dword [esi + 0x3ecc]
xor edx, edx
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
mov dword [esi + 0x4bb8], eax
mov dword [esi + 0x4bbc], edx
movzx ecx, word [esi + 0x3ede]
push ecx
mov eax, esi
call fcn.0040a43c
add eax, ebx
push eax
lea edx, [esi + 0x3eec]
push edx
call fcn.00435378
add esp, 0xc
test byte [esi + 0x3ec5], 2
je 0x425220
lea eax, [esp + 0xec34]
call fcn.0040d408
lea edx, [esi + 0x3eec]
push edx
call fcn.00435598
pop ecx
inc eax
movzx ecx, word [esi + 0x3ede]
sub ecx, eax
lea edx, [esi + 0x42ec]
push ecx
lea ecx, [esi + 0x3eec]
push edx
push 0x400
add ecx, eax
lea eax, [esp + 0xec40]
lea edx, [esi + 0x3eec]
call fcn.0040d680
jmp 0x425229
mov word [esi + 0x42ec], 0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
sub eax, dword [esp + 0x20]
sbb edx, dword [esp + 0x24]
push edx
push eax
mov eax, esi
call fcn.0040a43c
cdq
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
push edx
push eax
movzx eax, word [esi + 0x3ede]
cdq
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
push edx
push eax
mov eax, dword [esi + 0x3ec8]
xor edx, edx
cmp edx, dword [esp + 4]
jne 0x425278
cmp eax, dword [esp]
pop edx
pop eax
jbe 0x4252d3
jmp 0x42527c
pop edx
pop eax
jle 0x4252d3
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
sub eax, dword [esp + 0x20]
sbb edx, dword [esp + 0x24]
push edx
push eax
mov eax, esi
call fcn.0040a43c
cdq
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
push edx
push eax
movzx eax, word [esi + 0x3ede]
cdq
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x30]
mov dword [esi + 0x3ec8], eax
mov eax, dword [esp + 0x34]
mov edx, eax
mov dword [esi + 0x3ee4], eax
sar edx, 0x1f
mov eax, esi
call fcn.0040a43c
mov ecx, eax
movzx edx, word [esi + 0x3ede]
add ecx, edx
add ecx, 0xfffffffe
lea edx, [ebx + 2]
or eax, 0xffffffff
call fcn.0040b0a0
not ax
and ax, 0xffff
lea ecx, [esp + 0xc]
mov word [esi + 0x65de], ax
mov eax, edi
mov edx, esi
call fcn.00425631
test al, al
je 0x425449
test byte [esi + 0x3ec4], 8
mov bl, 1
je 0x42537f
mov eax, esi
call fcn.0040a43c
cdq
push edx
push eax
movzx eax, word [esi + 0x3ede]
cdq
add eax, dword [esp + 0x28]
adc edx, dword [esp + 0x2c]
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
push edx
push eax
mov eax, ebp
xor edx, edx
call fcn.00403504
mov eax, ebp
call fcn.00409268
mov eax, esi
call fcn.0040a43c
movzx edx, word [esi + 0x3ede]
add eax, edx
movzx ecx, word [ebp + 0x58f2]
add eax, ecx
movzx edx, word [esi + 0x3ec6]
cmp eax, edx
je 0x42539a
xor ebx, ebx
jmp 0x42539a
movzx eax, word [esi + 0x3ec6]
cdq
add eax, dword [esp + 0x20]
adc edx, dword [esp + 0x24]
push edx
push eax
mov eax, ebp
xor edx, edx
call fcn.00403504
movzx ecx, word [esi + 0x3ede]
mov byte [esi + ecx + 0x3eec], 0
call fcn.0040ac6c
test bl, bl
je 0x425449
cmp word [esi + 0x42ec], 0
jne 0x4253cd
lea eax, [esi + 0x3eec]
mov dl, 1
call fcn.00402180
movzx ecx, word [esi + 0x3ec4]
or dword [esp + 8], ecx
lea eax, [esi + 0x3eec]
call fcn.00401710
push eax
mov eax, 0xdc2
call fcn.0040d8a4
push eax
call fcn.00426660
add esp, 8
mov eax, esi
mov edx, 0x74
inc dword [esp + 4]
xor ecx, ecx
call fcn.00406a8c
test byte [esi + 0x3ec4], 8
je 0x425436
mov eax, esi
xor ecx, ecx
mov edx, 0x75
call fcn.00406a8c
movzx eax, word [ebp + 0x58f2]
add eax, 0xfffffff3
cdq
push edx
push eax
mov edx, esi
mov eax, ebp
call fcn.004038e0
mov eax, dword [esi + 0x3ec8]
xor edx, edx
push edx
push eax
mov edx, esi
mov eax, ebp
call fcn.004038e0
add dword [esp + 0x20], 1
adc dword [esp + 0x24], 0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push edx
push eax
mov eax, esi
call fcn.0040a43c
cdq
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
cmp edx, dword [esp + 0x24]
jne 0x42547c
cmp eax, dword [esp + 0x20]
ja 0x42547e
jmp 0x4254e4
jle 0x4254e4
mov eax, dword [esp + 0xec2c]
add eax, 0xfffffc18
cdq
push edx
push eax
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
call fcn.00438350
cmp edx, 0
jne 0x424f4a
cmp eax, 0
jne 0x424f4a
push dword [esp + 0x2c]
push dword [esp + 0x2c]
mov eax, ebp
xor edx, edx
call fcn.00403504
mov eax, ebp
mov ecx, dword [esp + 0xec2c]
mov edx, dword [esp + 0xec28]
call fcn.004033a0
add dword [esp + 0x28], 0x7530
adc dword [esp + 0x2c], 0
jmp 0x424f4a
test byte [esp + 8], 3
je 0x4254f3
or word [esi + 0x3eac], 1
cmp dword [esp + 4], 0
jle 0x425535
cmp byte [esp + 0x1c], 0
jne 0x425535
cmp byte [edi + 0x20d8], 0
jne 0x425535
mov eax, 0xdc4
call fcn.0040d8a4
push eax
call fcn.00426694
pop ecx
mov eax, 0xbba
call fcn.0040d8a4
call fcn.00426938
dec eax
jne 0x425535
or word [esi + 0x3eac], 8
cmp dword [esp + 4], 0
jne 0x42554f
mov eax, 0xdc6
call fcn.0040d8a4
push eax
call fcn.00426660
pop ecx
jmp 0x42557f
push 0
push 0
mov eax, esi
xor edx, edx
call fcn.00403504
mov eax, esi
xor ecx, ecx
mov edx, 0x72
call fcn.00406a8c
mov eax, esi
xor ecx, ecx
mov edx, 0x73
call fcn.00406a8c
mov eax, esi
call fcn.00403104
mov al, 1
push eax
lea eax, [esp + 0xec2c]
mov edx, 2
call fcn.00401244
lea eax, [esi + 0x5814]
mov edx, 2
call fcn.00402654
lea eax, [esi + 0x4aec]
mov edx, 2
call fcn.00402654
lea eax, [esi + 0x13bc]
mov edx, 2
call fcn.00428ce8
lea eax, [esi + 0xe6c]
mov edx, 2
call fcn.00402654
mov eax, esi
xor edx, edx
call fcn.00402e18
lea eax, [ebp + 0x5814]
mov edx, 2
call fcn.00402654
lea eax, [ebp + 0x4aec]
mov edx, 2
call fcn.00402654
lea eax, [ebp + 0x13bc]
mov edx, 2
call fcn.00428ce8
lea eax, [ebp + 0xe6c]
mov edx, 2
call fcn.00402654
mov eax, ebp
xor edx, edx
call fcn.00402e18
pop eax
add esp, 0xec48
pop ebp
pop edi
pop esi
pop ebx
ret