Function at 0x68dbc0
Capabilities:
Parse pe header

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x40
mov ebx, dword [esp + 0x54]
mov ebp, 0xc
mov esi, 6
mov byte [esp + 0x1f], 0x5d
mov dword [esp], ebx
mov dword [esp + 4], 0x10
call sub.KERNEL32.dll_IsBadReadPtr
sub esp, 8
mov dword [esp + 0x3c], 0x7d2
test eax, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], eax
mov byte [esp + 0x1e], al
mov byte [esp + 0x2f], al
mov byte [esp + 0x37], al
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], ecx
jne 0x68dce2
mov dword [esp + 0x30], edx
cmp esi, 4
jne 0x68dc35
mov ebp, eax
jmp 0x68dee9
movzx edx, byte [esp + 0x1f]
cmp edx, 9
je 0x68dc88
mov ecx, 0xe
cmp edx, 0xf
je 0x68dcbb
cmp edx, 0x5d
je 0x68e0a5
mov byte [esp + 0x1f], 9
movzx edx, word [ebx]
cmp edx, 0x15ff
je 0x68e154
mov ecx, 0xe
mov esi, 0x12
movzx edx, dx
cmp edx, 0x25ff
mov edi, ebx
mov ebp, eax
je 0x68de9c
jmp 0x68e13a
mov ebp, 0xa
mov byte [esp + 0x1f], 0x5d
movzx ecx, word [ebx]
cmp ecx, 0x15ff
je 0x68dcde
mov dword [esp + 0xc], 2
movzx ecx, cx
cmp ecx, 0x25ff
mov edi, ebx
mov edx, dword [esp + 0x30]
je 0x68dd05
jmp 0x68ddf6
mov byte [esp + 0x1f], 0xf
movzx edx, word [ebx]
cmp edx, 0x15ff
je 0x68dcf8
movzx ecx, dx
cmp ecx, 0x25ff
mov edi, ebx
mov edx, dword [esp + 0x30]
je 0x68dd05
jmp 0x68dd4e
mov edx, dword [esp + 0x30]
cmp ebp, 0xa
je 0x68dd05
imul ebp, ebp
and ebp, 3
cmp ebp, 2
jne 0x68e143
jmp 0x68dd05
mov ebp, eax
mov edi, ebx
mov edx, dword [esp + 0x30]
jmp 0x68dda0
mov dword [esp + 0x30], eax
mov eax, edx
xor edx, edx
mov ecx, 0x44
xor ecx, 0x4a
jmp 0x68dd31
mov esi, edx
imul esi, esi
and esi, 3
cmp esi, 2
adc edx, 0
mov edi, dword [ebx + 2]
test edx, edx
jne 0x68dd43
mov esi, edx
or esi, 2
mov ebp, edx
xor ebp, 2
add ebp, esi
jne 0x68dd20
mov ebp, eax
mov eax, dword [esp + 0x30]
jmp 0x68df6c
lea edx, [edi + 0x1000]
and edx, 0xfffff000
mov ecx, dword [esp + 0x58]
mov dword [ecx], 0
mov dword [esp + 0x3c], 0x7d2
cmp edx, 0x10000
jbe 0x68e143
mov byte [esp + 0x2f], 0x14
mov byte [esp + 0x37], 0x46
mov ebp, eax
mov dword [esp + 0x18], edi
movzx eax, byte [esp + 0x37]
cmp eax, 0x46
je 0x68ddac
mov ecx, 0x13
cmp eax, 0x61
jne 0x68dfbc
cmp ecx, 0xe
jne 0x68de0e
mov eax, ebp
jmp 0x68dd05
mov dword [esp + 0xc], 0xf
mov byte [esp + 0x37], 0x61
lea ebp, [edx - 0x1000]
mov dword [esp], ebp
mov dword [esp + 4], 0x100
mov esi, ebx
mov ebx, edx
call sub.KERNEL32.dll_IsBadReadPtr
sub esp, 8
mov edx, ebx
mov ebx, esi
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
mov dword [esp + 0x20], ebp
mov eax, ebp
jne 0x68dee9
cmp dword [esp + 0xc], 2
je 0x68dd4e
xor ecx, ecx
test cl, cl
mov ebp, eax
je 0x68de73
jmp 0x68dd4e
mov esi, 4
mov byte [esp + 0x37], 0x5c
lea ebp, [edx - 0x1000]
mov dword [esp], ebp
mov dword [esp + 4], 0x100
mov ebx, edx
call sub.KERNEL32.dll_IsBadReadPtr
sub esp, 8
mov edx, ebx
mov ebx, dword [esp + 0x54]
test eax, eax
mov dword [esp + 0x20], ebp
mov eax, ebp
jne 0x68dc25
jmp 0x68de73
mov byte [esp + 0x37], 0x46
lea ebp, [edx - 0x1000]
mov dword [esp], ebp
mov dword [esp + 4], 0x100
mov esi, edx
call sub.KERNEL32.dll_IsBadReadPtr
sub esp, 8
mov edx, esi
test eax, eax
mov dword [esp + 0x20], ebp
jne 0x68dee9
movzx eax, word [ebp]
cmp eax, 0x5a4d
je 0x68de84
xor eax, eax
test al, al
je 0x68dee9
mov dword [esp + 0x30], edx
mov edx, 0x15
mov esi, 0xc
movzx eax, byte [esp + 0x2f]
cmp eax, 0x32
jne 0x68df13
cmp esi, 0xc
jne 0x68ded5
mov byte [esp + 0x2f], 0x14
mov eax, dword [ebp + 0x3c]
add eax, ebp
mov dword [esp + 0x14], eax
mov dword [esp], eax
mov dword [esp + 4], 0x100
call sub.KERNEL32.dll_IsBadReadPtr
sub esp, 8
test eax, eax
je 0x68dee0
mov al, 1
test al, al
mov edx, dword [esp + 0x30]
jne 0x68dee9
jmp 0x68df7e
mov eax, ebp
mov edx, dword [esp + 0x30]
jmp 0x68dd05
mov edx, dword [esp + 0x30]
jmp 0x68df7e
mov ecx, 0x16
cmp ebp, 0x10000
ja 0x68df62
mov dword [esp + 0x3c], 0x7d2
mov edx, 9
mov eax, ebp
and eax, 1
inc eax
xor eax, ebp
mov eax, ebp
mov dword [esp + 0x30], ebp
je 0x68df6c
cmp edx, 9
je 0x68e143
mov esi, 0x19
mov byte [esp + 0x2f], 0x32
mov eax, dword [ebp + 0x3c]
add eax, ebp
mov dword [esp + 0x14], eax
mov dword [esp], eax
mov dword [esp + 4], 0x100
call sub.KERNEL32.dll_IsBadReadPtr
sub esp, 8
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
mov eax, ebp
mov edx, dword [esp + 0x30]
jne 0x68dee9
jmp 0x68e0dc
mov dword [esp + 0x3c], 0x7d2
mov eax, ebp
mov edx, ebp
cmp ecx, 0xe
mov ebp, eax
je 0x68dd4e
jmp 0x68dd88
mov dword [esp + 0x30], edx
mov byte [esp + 0x1e], 0x6f
mov edx, dword [esp + 0x14]
mov eax, dword [edx]
cmp eax, 0x4550
mov esi, dword [esp + 0x20]
jne 0x68dffd
mov ecx, 3
imul eax, eax
and eax, 3
cmp eax, 2
mov dword [esp + 0x28], edx
mov dword [esp + 0x38], esi
mov dword [esp + 0x24], ebp
mov edx, dword [esp + 0x30]
jae 0x68dee9
cmp ecx, 3
jne 0x68de49
movzx eax, byte [esp + 0x1e]
cmp eax, 0x5d
je 0x68e00e
cmp eax, 0x6f
jne 0x68e044
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x50]
add eax, dword [esp + 0x24]
mov dword [esp + 0x3c], 0x7d2
cmp eax, dword [esp + 0x18]
jb 0x68e143
mov byte [esp + 0x1e], 0x6f
mov al, 7
jmp 0x68e082
mov dword [esp + 0x28], edx
mov dword [esp + 0x38], esi
mov dword [esp + 0x24], ebp
jmp 0x68dee9
mov esi, edx
mov byte [esp + 0x1e], 0x79
mov al, 7
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx + 0x50]
add ecx, dword [esp + 0x24]
cmp ecx, dword [esp + 0x18]
jae 0x68e080
mov edx, ecx
or edx, 2
xor ecx, 2
add ecx, edx
mov dword [esp + 0x3c], 0x7d2
mov edx, esi
jne 0x68e143
jmp 0x68e082
mov eax, dword [esp + 0x28]
movzx ecx, word [eax + 0x18]
lea eax, [eax + 0x50]
cmp ecx, 0x20b
mov eax, dword [eax]
add eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x3c], 0x7d2
jb 0x68e143
xor eax, eax
test al, al
jne 0x68e143
mov byte [esp + 0x1e], 0x5d
mov al, 7
jmp 0x68e082
mov edx, esi
mov ecx, 0x1c
movzx eax, al
mov dword [esp + 0x3c], 0x7d2
cmp eax, 0x3b
jne 0x68e0fc
mov dword [esp + 0x30], edx
mov eax, ebp
mov edx, dword [esp + 0x38]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x58]
cmp ecx, 0xe
jne 0x68e0ec
movzx ecx, word [ebx]
cmp ecx, 0x15ff
je 0x68e14f
mov byte [esp + 0x1f], 0xa
mov esi, 0xe
movzx ecx, cx
cmp ecx, 0x25ff
mov edi, ebx
mov edx, dword [esp + 0x30]
jne 0x68dd4e
cmp esi, 0xe
mov ebp, eax
je 0x68dd05
jmp 0x68df7e
mov eax, dword [esp + 0x10]
mov dword [edx], eax
mov dword [esp + 0x3c], 0
jmp 0x68e143
xor eax, eax
mov ecx, 0x13
xor ecx, 0x12
mov esi, dword [esp + 0x58]
jmp 0x68e11f
inc eax
mov edx, dword [esp + 0x38]
mov dword [esi], edx
mov dword [esp + 0x3c], 0
test eax, eax
jne 0x68e130
mov edx, eax
not edx
and edx, 1
neg edx
cmp edx, eax
jne 0x68e110
mov eax, ebp
mov edx, dword [esp + 0x38]
mov dword [esp + 0x10], edx
cmp ecx, 1
jne 0x68dd4e
mov eax, dword [esp + 0x3c]
add esp, 0x40
pop esi
pop edi
pop ebx
pop ebp
ret
mov byte [esp + 0x1f], 0xa
mov edi, ebx
mov edx, dword [esp + 0x30]
jmp 0x68dd05