Function at 0x810aa0
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x90
mov eax, dword [0x6d7a68]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push 4
xor esi, esi
lea eax, [ebp - 0x70]
push eax
mov ebx, ecx
mov ecx, dword [ebx + 0x28]
push esi
push esi
mov dword [ebx + 0x724], esi
mov dword [ebx + 0x720], esi
call fcn.008d5400
cmp eax, 4
je 0x810aec
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0067de1d
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x70]
cmp ax, 0x5a4d
push edi
je 0x810b00
cmp ax, 0x4d5a
jne 0x810c84
mov ecx, dword [ebx + 0x28]
push 0x40
lea edx, [ebp - 0x6c]
push edx
push 0
push 0
call fcn.008d5400
cmp eax, 0x40
jb 0x810b6c
mov ax, word [ebp - 0x6c]
cmp ax, 0x5a4d
je 0x810b27
cmp ax, 0x4d5a
jne 0x810b6c
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebx + 0x28]
push 0x18
lea esi, [ebp - 0x90]
push esi
xor edx, edx
push edx
push eax
call fcn.008d5400
cmp eax, 0x18
jb 0x810b6c
cmp dword [ebp - 0x90], 0x4550
jne 0x810b6c
cmp word [ebp - 0x8a], 0
movzx eax, word [ebp - 0x7c]
mov ecx, dword [ebp - 0x30]
lea esi, [eax + ecx + 0x18]
mov dword [ebp - 0x78], 0
ja 0x810b83
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0067de1d
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp - 0x74]
mov ecx, dword [ebx + 0x28]
push 0x28
lea edx, [ebp - 0x2c]
push edx
push 0
push esi
call fcn.008d5400
cmp eax, 0x28
jne 0x810b6c
add esi, eax
mov dword [ebp - 0x74], esi
mov eax, 4
mov ecx, 0x6b9fbc
lea edx, [ebp - 0x2c]
jmp 0x810bb0
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x810bc8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x810bb0
test eax, eax
je 0x810c25
movzx edi, byte [ecx]
movzx esi, byte [edx]
sub esi, edi
jne 0x810c17
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x810c25
movzx edi, byte [ecx]
movzx esi, byte [edx]
sub esi, edi
jne 0x810c17
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x810c25
movzx edi, byte [ecx]
movzx esi, byte [edx]
sub esi, edi
jne 0x810c17
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x810c25
movzx eax, byte [ecx]
movzx esi, byte [edx]
sub esi, eax
je 0x810c25
test esi, esi
mov eax, 1
jg 0x810c27
or eax, 0xffffffff
jmp 0x810c27
xor eax, eax
test eax, eax
je 0x810c56
mov eax, dword [ebp - 0x78]
movzx ecx, word [ebp - 0x8a]
add eax, 1
cmp eax, ecx
mov dword [ebp - 0x78], eax
jb 0x810b80
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0067de1d
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
lea esi, [eax + edx]
test esi, esi
je 0x810b6c
mov ecx, dword [ebx + 0x28]
push 4
lea edx, [ebp - 0x70]
push edx
push 0
push esi
call fcn.008d5400
cmp eax, 4
jne 0x810b6c
mov eax, dword [ebp - 0x70]
cmp eax, 0x46535449
je 0x810c96
cmp eax, 0x4c4f5449
jne 0x810b6c
cmp eax, 0x46535449
mov dword [ebx + 0x728], esi
jne 0x810cc9
mov ecx, ebx
mov dword [ebx + 0x720], 4
call fcn.0080f220
test eax, eax
jne 0x810d0c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0067de1d
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebx + 0x28]
push 4
lea edx, [ebp - 0x70]
push edx
lea eax, [esi + 4]
push 0
push eax
call fcn.008d5400
cmp eax, 4
jne 0x810b6c
cmp dword [ebp - 0x70], 0x534c5449
jne 0x810b6c
mov ecx, ebx
mov dword [ebx + 0x720], 5
call fcn.0080f480
test eax, eax
je 0x810b6c
mov eax, dword [ebx + 0x760]
cmp dword [ebx + 0x750], eax
jae 0x810b6c
cmp dword [ebx + 0x754], eax
jae 0x810b6c
lea eax, [ebp - 0x74]
push eax
push 0x6b9e58
mov ecx, ebx
call fcn.008101f0
test eax, eax
je 0x810b6c
mov ecx, dword [ebp - 0x74]
push ecx
mov ecx, ebx
call fcn.0080ee40
push 0x110
lea eax, [ebx + 0x2c0]
push 0
push eax
call fcn.0067e0a0
push 0x110
lea eax, [ebx + 0x3d0]
push 0
push eax
call fcn.0067e0a0
push 0x110
lea eax, [ebx + 0x4e0]
push 0
push eax
call fcn.0067e0a0
push 0x110
lea eax, [ebx + 0x5f0]
push 0
push eax
call fcn.0067e0a0
add esp, 0x30
lea esi, [ebx + 0x1b0]
push esi
mov ecx, ebx
call fcn.00810840
test eax, eax
je 0x810eb3
push 0x6b9e58
lea esi, [ebx + 0x1c0]
push esi
call fcn.00680882
add esp, 8
test eax, eax
jne 0x810ded
cmp dword [ebx + 0x1b8], eax
jne 0x810b6c
cmp dword [ebx + 0x2cc], eax
jne 0x810b6c
lea edi, [ebx + 0x2c0]
jmp 0x810e90
push 0x6b9e84
push esi
call fcn.00680882
add esp, 8
test eax, eax
jne 0x810e1f
cmp dword [ebx + 0x1b8], eax
jne 0x810b6c
cmp dword [ebx + 0x3dc], eax
jne 0x810b6c
lea edi, [ebx + 0x3d0]
jmp 0x810e90
push 0x6b9eb4
push esi
call fcn.00680882
add esp, 8
test eax, eax
jne 0x810e51
cmp dword [ebx + 0x1b8], eax
jne 0x810b6c
cmp dword [ebx + 0x4ec], eax
jne 0x810b6c
lea edi, [ebx + 0x4e0]
jmp 0x810e90
cmp dword [ebx + 0x720], 4
mov eax, 0x6b9ee0
je 0x810e64
mov eax, 0x6b9f50
push eax
push esi
call fcn.00680882
add esp, 8
test eax, eax
jne 0x810e9d
cmp dword [ebx + 0x1b8], eax
jne 0x810b6c
cmp dword [ebx + 0x5fc], eax
jne 0x810b6c
lea edi, [ebx + 0x5f0]
mov ecx, 0x44
lea esi, [ebx + 0x1b0]
rep movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0x1b0]
push esi
mov ecx, ebx
call fcn.00810840
test eax, eax
jne 0x810db2
cmp dword [ebx + 0x2cc], 0
je 0x810b6c
cmp dword [ebx + 0x3dc], 0
je 0x810b6c
cmp dword [ebx + 0x4ec], 0
je 0x810b6c
cmp dword [ebx + 0x5fc], 0
je 0x810b6c
mov ecx, ebx
call fcn.0080f8a0
test eax, eax
je 0x810b6c
mov ecx, ebx
call fcn.0080ee00
test eax, eax
je 0x810b6c
call fcn.0080fb10
test eax, eax
je 0x810b6c
mov ecx, ebx
call fcn.0080fb50
test eax, eax
je 0x810b6c
push 0x110
push 0
push esi
call fcn.0067e0a0
mov ecx, dword [ebp - 4]
add esp, 0xc
pop edi
pop esi
xor ecx, ebp
mov eax, 1
pop ebx
call fcn.0067de1d
mov esp, ebp
pop ebp
ret