Function at 0x4214df
Capabilities:
Enumerate pe sections
Parse pe header

Disassembly:
push 0x164
push 0x4032b0
call fcn.004223d1
xor ebx, ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x4c], ebx
or dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x28], ebx
cmp dword [0x404d90], ebx
jne 0x42150d
call fcn.004213fb
mov dword [ebp - 4], ebx
push dword [ebp + 8]
call fcn.00421467
cmp eax, 1
je 0x4219a3
mov esi, 0x80
push esi
push dword [ebp + 8]
call dword [0x403098]
push ebx
push esi
push 3
push ebx
push ebx
push 0xc0000000
push dword [ebp + 8]
call dword [fcn.00403038]
mov dword [ebp - 0x20], eax
cmp eax, 0xffffffff
je 0x4219a3
push ebx
push eax
lea esi, [ebp - 0x94]
call fcn.00420f86
push 2
push ebx
push ebx
push dword [ebp - 0x20]
call dword [0x4030c8]
mov edi, eax
mov dword [ebp - 0x48], edi
push ebx
push ebx
push ebx
push 4
push ebx
push dword [ebp - 0x20]
call dword [0x403050]
mov dword [ebp - 0x28], eax
push 0x400
push ebx
push ebx
push 0xf001f
push eax
call dword [0x403044]
mov dword [ebp - 0x24], eax
cmp eax, ebx
je 0x4219a3
mov eax, 0x5a4d
mov ecx, dword [ebp - 0x24]
cmp word [ecx], ax
jne 0x4219a3
mov eax, ecx
mov esi, dword [eax + 0x3c]
add esi, eax
add eax, 0x400
mov dword [ebp + 8], eax
lea ecx, [esi + 0xf8]
cmp ecx, eax
ja 0x4219a3
mov eax, 0x4550
cmp word [esi], ax
jne 0x4219a3
cmp dword [esi + 0x98], ebx
jne 0x4219a3
push 2
push edi
push esi
call fcn.004212f2
mov ecx, dword [eax + 0x14]
add ecx, dword [eax + 0x10]
cmp edi, ecx
ja 0x4219a3
call fcn.00420ecc
mov dword [0x404273], eax
push ebx
push edi
push esi
call fcn.004212f2
mov edi, eax
lea eax, [edi + 0x28]
cmp eax, dword [ebp + 8]
ja 0x4219a3
cmp dword [edi + 0x24], 0xe0000020
jne 0x421695
push 4
pop eax
mov ecx, edi
call fcn.0042116a
xor ecx, ecx
inc ecx
cmp eax, ecx
jne 0x421695
mov ax, word [edi + 4]
cmp ax, word [0x404280]
jae 0x4219a3
mov dword [ebp - 0x44], ecx
mov eax, 0xffff
add word [esi + 6], ax
cmp dword [esi + 0x1c], ebx
je 0x421660
mov eax, dword [edi + 0x10]
sub dword [esi + 0x1c], eax
mov eax, dword [edi]
mov dword [esi + 0x28], eax
push 5
pop eax
mov ecx, esi
call fcn.0042116a
mov dword [esi + 0x28], eax
mov eax, dword [edi + 8]
cmp eax, ebx
jne 0x421684
push dword [esi + 0x38]
mov ecx, dword [edi + 0x10]
call fcn.004212d9
sub dword [esi + 0x50], eax
push 0x400
push dword [ebp - 0x24]
call dword [0x4030d0]
mov eax, dword [esi + 0x28]
mov dword [ebp - 0x54], eax
movzx eax, word [esi + 6]
imul eax, eax, 0x28
lea edi, [eax + esi + 0xf8]
lea ecx, [edi + 0x28]
mov eax, dword [ebp - 0x24]
add eax, 0x400
cmp ecx, eax
ja 0x4219a3
cmp dword [ebp - 0x44], ebx
jne 0x4216e1
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
cmp dword [ebp - 0x3c], 0xa
jae 0x4216e1
mov eax, dword [ebp - 0x38]
cmp dword [eax], ebx
jne 0x4219a3
add dword [ebp - 0x38], 4
inc dword [ebp - 0x3c]
jmp 0x4216c7
push 5
pop eax
mov ecx, esi
call fcn.0042116a
mov dword [edi], eax
mov ax, word [0x404280]
mov word [edi + 4], ax
push 3
pop eax
mov ecx, edi
call fcn.0042116a
push dword [esi + 0x38]
mov ecx, dword [0x404e60]
add ecx, 0x271
call fcn.004212d9
mov dword [edi + 8], eax
push dword [esi + 0x3c]
mov ecx, dword [0x404e60]
add ecx, 0x271
call fcn.004212d9
mov dword [edi + 0x10], eax
mov dword [edi + 0x24], 0xe0000020
mov dword [ebp + 8], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x40], ebx
push 0x50
push ebx
lea eax, [ebp - 0x124]
push eax
call fcn.00422341
add esp, 0xc
push 0x50
push ebx
lea eax, [ebp - 0x174]
push eax
call fcn.00422341
add esp, 0xc
xor ecx, ecx
inc ecx
mov dword [ebp - 0x50], ecx
movzx eax, word [esi + 6]
cmp ecx, eax
ja 0x4217a1
sub eax, ecx
imul eax, eax, 0x28
lea eax, [eax + esi + 0xf8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x40], eax
cmp eax, ebx
jbe 0x42179e
mov edx, dword [ebp - 0x30]
shl edx, 2
mov dword [ebp + edx - 0x124], eax
mov dword [ebp + edx - 0x174], ecx
inc dword [ebp - 0x30]
inc ecx
jmp 0x421766
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x2c], ebx
mov edx, dword [ebp - 0x30]
cmp dword [ebp - 0x2c], edx
jae 0x4217cd
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0x124]
cmp eax, ecx
jbe 0x4217c8
mov ecx, eax
mov dword [ebp - 0x40], ecx
inc dword [ebp - 0x2c]
jmp 0x4217ad
mov dword [ebp - 0x34], ebx
cmp dword [ebp - 0x34], edx
jae 0x4217f2
mov eax, dword [ebp - 0x34]
shl eax, 2
cmp ecx, dword [ebp + eax - 0x124]
jne 0x42199b
mov eax, dword [ebp + eax - 0x174]
mov dword [ebp + 8], eax
cmp dword [ebp + 8], ebx
jne 0x4217fe
mov dword [ebp + 8], 1
movzx eax, word [esi + 6]
sub eax, dword [ebp + 8]
imul eax, eax, 0x28
lea eax, [eax + esi + 0xf8]
mov dword [ebp + 8], eax
push dword [esi + 0x38]
mov ecx, dword [eax + 8]
call fcn.004212d9
mov ecx, eax
mov eax, dword [ebp + 8]
add ecx, dword [eax + 0xc]
mov dword [edi + 0xc], ecx
cmp dword [eax + 8], ebx
jne 0x421844
push dword [esi + 0x38]
mov ecx, dword [eax + 0x10]
call fcn.004212d9
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0xc]
mov dword [edi + 0xc], eax
mov dword [edi + 8], ebx
push 2
push dword [ebp - 0x48]
push esi
call fcn.004212f2
mov dword [ebp + 8], eax
push dword [esi + 0x3c]
mov ecx, dword [eax + 0x10]
call fcn.004212d9
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x14]
mov dword [edi + 0x14], eax
mov dword [esi + 0x58], ebx
inc word [esi + 6]
mov eax, dword [edi + 0xc]
mov dword [esi + 0x28], eax
mov eax, dword [edi + 8]
add dword [esi + 0x50], eax
cmp dword [edi + 8], ebx
jne 0x42188c
push dword [esi + 0x38]
mov ecx, dword [edi + 0x10]
call fcn.004212d9
add dword [esi + 0x50], eax
cmp dword [esi + 0x1c], ebx
je 0x421897
mov eax, dword [edi + 0x10]
add dword [esi + 0x1c], eax
push 0x28
push edi
lea eax, [ebp - 0x7c]
push eax
call fcn.00422347
add esp, 0xc
push dword [ebp - 0x24]
call dword [0x403048]
mov dword [ebp - 0x24], ebx
push dword [ebp - 0x28]
mov edi, dword [fcn.00403058]
call edi
mov dword [ebp - 0x28], ebx
mov eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0x70]
sub eax, 0x271
mov ecx, dword [0x404d90]
mov dword [ecx], eax
lea eax, [ebp - 0xd4]
push eax
call fcn.004211fb
mov eax, dword [ebp - 0xd4]
mov ecx, dword [0x404d94]
mov dword [ecx], eax
mov eax, dword [ebp - 0xd0]
mov ecx, dword [0x404d98]
mov dword [ecx], eax
mov eax, dword [ebp - 0xcc]
mov ecx, dword [0x404d9c]
mov dword [ecx], eax
mov eax, dword [ebp - 0xc8]
mov ecx, dword [0x404da0]
mov dword [ecx], eax
call fcn.00420ecc
mov dword [0x404275], eax
push 2
push ebx
mov eax, dword [ebp - 0x68]
sub eax, dword [ebp - 0x48]
add eax, dword [ebp - 0x6c]
push eax
push dword [ebp - 0x20]
mov esi, dword [0x4030c8]
call esi
push dword [ebp - 0x20]
call dword [0x4030cc]
push 2
push ebx
mov eax, dword [ebp - 0x6c]
neg eax
push eax
push dword [ebp - 0x20]
call esi
push ebx
lea eax, [ebp - 0x4c]
push eax
push 0x271
push 0x404008
push dword [ebp - 0x20]
mov esi, dword [0x4030b0]
call esi
push ebx
lea eax, [ebp - 0x4c]
push eax
push dword [0x404e60]
push dword [0x404e5c]
push dword [ebp - 0x20]
call esi
push 1
push dword [ebp - 0x20]
lea esi, [ebp - 0x94]
call fcn.00420f86
push dword [ebp - 0x20]
call edi
or dword [ebp - 0x20], 0xffffffff
jmp 0x4219a9
inc dword [ebp - 0x34]
jmp 0x4217d0
mov edi, dword [fcn.00403058]
cmp dword [ebp - 0x24], ebx
je 0x4219b7
push dword [ebp - 0x24]
call dword [0x403048]
cmp dword [ebp - 0x28], ebx
je 0x4219c1
push dword [ebp - 0x28]
call edi
cmp dword [ebp - 0x20], 0xffffffff
je 0x421a02
push dword [ebp - 0x20]
call edi
jmp 0x421a02
or dword [ebp - 4], 0xffffffff
call fcn.0042240c
ret 4