Function at 0x10106870
Capabilities:
Parse pe header

Disassembly:
push ebx
push ebp
push esi
mov esi, dword [esp + 0x74]
push edi
cmp word [esi], 0x9c60
jne 0x10106b71
cmp byte [esi + 2], 0xe8
jne 0x10106b71
mov eax, dword [esi + 3]
test eax, eax
jne 0x10106b71
cmp byte [esi + 7], 0x5d
jne 0x10106b71
cmp word [esi + 8], 0xed81
jne 0x10106b71
cmp word [esi + 0xe], 0x1eb
jne 0x10106b71
cmp word [esi + 0x11], 0xfd83
jne 0x10106b71
mov al, byte [esi + 0x13]
test al, al
jne 0x10106b71
cmp word [esi + 0x14], 0x2274
jne 0x10106b71
cmp word [esi + 0x16], 0xbd8d
jne 0x10106b71
cmp word [esi + 0x1b], 0xbb00
jne 0x10106b71
mov eax, dword [esi + 0x1d]
test eax, eax
jne 0x10106b71
cmp byte [esi + 0x21], 0x8a
jne 0x10106b71
cmp byte [esi + 0x24], 2
jne 0x10106b71
cmp byte [esi + 0x2a], 0x88
jne 0x10106b71
cmp byte [esi + 0x2d], 0x43
jne 0x10106b71
cmp byte [esi + 0x2e], 0x81
jne 0x10106b71
cmp word [esi + 0x34], 0x274
jne 0x10106b71
cmp byte [esi + 0x36], 0xeb
jne 0x10106b71
mov eax, dword [esi + 0xa]
mov ecx, dword [esi + 0x18]
mov edi, dword [esp + 0x28]
sub ecx, eax
lea ebx, [ecx + edi + 7]
cmp ebx, edi
jb 0x10106b71
mov edx, dword [esi + 0x26]
lea ecx, [esp + 0x80]
sub edx, eax
push 0
push ecx
mov ecx, dword [esp + 0x1c]
lea eax, [edx + edi + 7]
lea edx, [esp + 0x80]
push edx
mov edx, dword [0x107ab964]
push 1
push 1
push eax
mov eax, dword [esp + 0x98]
push eax
push ecx
push edx
mov byte [esp + 0x9c], 0
call fcn.100253e0
add esp, 0x24
test eax, eax
je 0x10106b71
cmp dword [esp + 0x80], 1
jne 0x10106b71
mov ebp, dword [esp + 0x7c]
mov eax, ebx
sub eax, edi
mov ecx, eax
lea edi, [ebp - 5]
cmp ecx, edi
jge 0x101069dc
mov dl, byte [esp + 0x78]
mov bl, byte [ecx + esi]
add bl, dl
mov byte [ecx + esi], bl
inc ecx
cmp ecx, edi
jl 0x101069cb
add ebp, 0xffffffb0
xor edx, edx
xor edi, edi
cmp eax, ebp
jge 0x10106b71
mov ebx, 0x220
cmp edx, 2
jge 0x10106b3a
mov ecx, edx
sub ecx, 0
je 0x10106aa2
dec ecx
jne 0x10106b2e
cmp word [esi + eax], 0xbd8b
jne 0x10106b2e
cmp word [eax + esi + 6], 0xd8d
jne 0x10106b2e
cmp word [eax + esi + 0xc], 0xe981
jne 0x10106b2e
cmp dword [eax + esi + 0x12], 0x9090f903
jne 0x10106b2e
cmp dword [esi + eax + 0x16], 0xf078990
jne 0x10106b2e
cmp word [eax + esi + 0x1a], 0x9db6
jne 0x10106b2e
cmp dword [eax + esi + 0x20], 0x5f281f28
jne 0x10106b2e
cmp dword [esi + eax + 0x24], 0x25f2801
jne 0x10106b2e
cmp word [eax + esi + 0x28], 0x5f28
jne 0x10106b2e
cmp byte [esi + eax + 0x2a], 3
jne 0x10106b2e
mov edi, dword [esi + eax + 8]
mov ecx, dword [esi + eax + 0xe]
mov edx, 2
sub edi, ecx
jmp 0x10106b2e
cmp byte [esi + eax], 0x66
jne 0x10106b2e
cmp word [esi + eax + 3], 0x5a4d
jne 0x10106b2e
cmp word [eax + esi + 5], 0x850f
jne 0x10106b2e
cmp dword [eax + esi + 0xb], 0x8b3cc083
jne 0x10106b2e
cmp word [eax + esi + 0xf], 0x318
jne 0x10106b2e
cmp byte [esi + eax + 0x11], 0x9d
jne 0x10106b2e
cmp word [esi + eax + 0x16], 0x8166
jne 0x10106b2e
cmp byte [esi + eax + 0x18], 0x3b
jne 0x10106b2e
cmp word [eax + esi + 0x19], 0x4550
jne 0x10106b2e
cmp dword [esi + eax + 0x1b], 0x236850f
jne 0x10106b2e
cmp dword [eax + esi + 0x1f], 0x9d890000
jne 0x10106b2e
cmp dword [eax + esi + 0x27], 0xf14c383
jne 0x10106b2e
cmp dword [eax + esi + 0x2b], 0x836603b7
jne 0x10106b2e
cmp dword [eax + esi + 0x2f], 0x840f003b
jne 0x10106b2e
cmp dword [eax + esi + 0x33], ebx
jne 0x10106b2e
mov edx, 1
inc eax
cmp eax, ebp
jl 0x101069f0
cmp edx, 2
jne 0x10106b71
test edi, edi
je 0x10106b71
mov ecx, dword [esp + 0x84]
test ecx, ecx
je 0x10106b67
mov eax, dword [esp + 0x88]
test eax, eax
je 0x10106b67
mov edx, dword [esi + 0x30]
add edx, 0x37
mov dword [eax], edx
mov eax, dword [edi + esi]
sub eax, dword [esp + 0x34]
mov dword [ecx], eax
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
ret