Function at 0xb86200
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
push ebx
push esi
or eax, 0xffffffff
lea ecx, [ebp - 0x28]
push edi
mov word [ebp - 0x10], ax
xor edi, edi
xor eax, eax
mov dword [ebp - 8], edi
push 0x64
mov word [ebp - 0xe], ax
call fcn.00b879d6
mov ecx, dword [ebp + 0x10]
call fcn.00b87440
mov ebx, dword [ebp + 0xc]
cmp word [ebx], di
je 0xb8642a
lea esp, [esp]
movzx eax, word [ebx + edi*2]
cmp eax, 0x20
je 0xb8633f
cmp eax, 9
je 0xb8633f
movzx eax, word [ebx + edi*2]
mov dword [ebp - 8], edi
test ax, ax
je 0xb8642a
mov esi, eax
mov word [ebp - 0xe], di
cmp esi, 0x30
jae 0xb862de
cmp esi, 0x2e
je 0xb862e3
cmp esi, 0x41
jae 0xb86345
cmp esi, 0x61
jae 0xb86461
cmp esi, 0x5f
je 0xb8646a
mov eax, esi
cmp eax, 0x24
je case.0xb862b8.64
cmp eax, 0x3d
je 0xb864a6
sub eax, 0x1a
cmp eax, 0x44
ja case.0xb862b8.27
movzx eax, byte [eax + 0xb867b4]
jmp dword [eax*4 + 0xb86768]
push 0x4f
lea ecx, [ebp - 0x18]
call fcn.00b85d72
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x18]
push eax
call fcn.00b874cf
inc edi
mov dword [ebp - 8], edi
jmp 0xb8641f
cmp esi, 0x39
ja 0xb86271
mov edi, dword [ebp + 0x10]
mov eax, 0x40
mov dword [ebp + 0xc], eax
mov ecx, dword [edi + 8]
mov dword [ebp - 0xc], ecx
test ecx, ecx
je 0xb86306
mov eax, dword [edi + 4]
mov eax, dword [eax + ecx*4 - 4]
movzx eax, word [eax + 8]
mov dword [ebp + 0xc], eax
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 8]
push eax
push ebx
call fcn.00b85f2c
cmp al, 1
jne 0xb866e1
cmp word [ebp + 0xc], 0x4a
je 0xb8668b
lea eax, [ebp - 0x18]
mov ecx, edi
push eax
call fcn.00b874cf
mov edi, dword [ebp - 8]
jmp 0xb8641f
inc edi
jmp 0xb86240
cmp esi, 0x5a
ja 0xb8627f
jmp 0xb8646a
push dword [ebp + 0x10]
call fcn.00b85e00
test eax, eax
js 0xb86762
cmp esi, 0x24
jne 0xb86625
mov eax, 0x33
push eax
lea ecx, [ebp - 0x18]
call fcn.00b85d72
inc edi
lea ecx, [ebp - 0x28]
mov dword [ebp - 8], edi
call fcn.00b87d4c
movzx esi, word [ebx + edi*2]
cmp si, 0x5a
jbe 0xb863ce
cmp si, 0x61
jb 0xb863d6
cmp si, 0x7a
ja 0xb863d6
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ecx]
cmp eax, 1
jg 0xbbea32
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x28]
inc eax
push eax
call fcn.00b87b13
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
xor edx, edx
mov word [ecx + eax*2], si
inc eax
mov dword [ebp - 0x24], eax
inc edi
mov word [ecx + eax*2], dx
jmp 0xb86386
cmp si, 0x41
jae 0xb8639c
jmp 0xb86390
cmp si, 0x30
jae 0xb86497
cmp si, 0x5f
je 0xb8639c
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0xb86759
lea ecx, [ebp - 0x28]
call fcn.00b87e0f
push dword [ebp - 0x24]
push dword [ebp - 0x28]
call dword [0xc1067c]
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x18]
call fcn.00b85d01
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x18]
push eax
call fcn.00b874cf
cmp word [ebx + edi*2], 0
jne 0xb86240
push 0x7f
lea ecx, [ebp - 0x18]
call fcn.00b85d72
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x18]
push eax
mov word [ebp - 0xe], di
call fcn.00b874cf
xor esi, esi
lea ecx, [ebp - 0x28]
call fcn.00b858c4
lea ecx, [ebp - 0x18]
call fcn.00b85d5b
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp esi, 0x7a
ja 0xb86288
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 8]
push eax
push ebx
call fcn.00b85e32
cmp dword [ebp - 0x18], 0xffffffff
je 0xbbea8c
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x18]
push eax
call fcn.00b874cf
mov edi, dword [ebp - 8]
jmp 0xb8641f
cmp si, 0x39
ja 0xb863e0
jmp 0xb8639c
inc edi
lea ecx, [ebp - 0x18]
mov dword [ebp - 8], edi
cmp word [ebx + edi*2], 0x3d
je 0xbbea22
push 0x41
call fcn.00b85d72
jmp 0xb86413
push 0x4e
lea ecx, [ebp - 0x18]
call fcn.00b85d72
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x18]
push eax
call fcn.00b874cf
inc edi
mov dword [ebp - 8], edi
jmp 0xb8641f
push 0x47
lea ecx, [ebp - 0x18]
call fcn.00b85d72
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x18]
push eax
call fcn.00b874cf
inc edi
mov dword [ebp - 8], edi
jmp 0xb8641f
push 0x48
lea ecx, [ebp - 0x18]
call fcn.00b85d72
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x18]
push eax
call fcn.00b874cf
inc edi
mov dword [ebp - 8], edi
jmp 0xb8641f
push 0x40
lea ecx, [ebp - 0x18]
call fcn.00b85d72
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x18]
push eax
call fcn.00b874cf
inc edi
mov dword [ebp - 8], edi
jmp 0xb8641f
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 8]
push eax
push ebx
push dword [ebp + 8]
call fcn.00b8617f
lea ecx, [ebp - 0x18]
test eax, eax
js 0xbbeaa7
push 0x36
call fcn.00b85d72
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x18]
call fcn.00b85d01
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x18]
push eax
call fcn.00b874cf
mov edi, dword [ebp - 8]
jmp 0xb8641f
push 0x4d
lea ecx, [ebp - 0x18]
call fcn.00b85d72
inc edi
mov dword [ebp - 8], edi
cmp word [ebx + edi*2], 0x3d
jne 0xb86413
inc edi
lea ecx, [ebp - 0x18]
push 0x56
mov dword [ebp - 8], edi
call fcn.00b85d72
jmp 0xb86413
push 0x49
lea ecx, [ebp - 0x18]
call fcn.00b85d72
inc edi
mov dword [ebp - 8], edi
cmp word [ebx + edi*2], 0x3d
jne 0xb86413
inc edi
lea ecx, [ebp - 0x18]
push 0x52
mov dword [ebp - 8], edi
call fcn.00b85d72
jmp 0xb86413
push 0x4c
lea ecx, [ebp - 0x18]
call fcn.00b85d72
inc edi
mov dword [ebp - 8], edi
cmp word [ebx + edi*2], 0x3d
jne 0xb86413
inc edi
lea ecx, [ebp - 0x18]
push 0x55
mov dword [ebp - 8], edi
call fcn.00b85d72
jmp 0xb86413
push 0x4b
lea ecx, [ebp - 0x18]
call fcn.00b85d72
inc edi
mov dword [ebp - 8], edi
cmp word [ebx + edi*2], 0x3d
jne 0xb86413
jmp 0xbbe984
mov eax, 0x32
jmp 0xb86371
push 0x4a
lea ecx, [ebp - 0x18]
call fcn.00b85d72
inc edi
mov dword [ebp - 8], edi
cmp word [ebx + edi*2], 0x3d
jne 0xb86413
jmp 0xbbe971
inc edi
lea ecx, [ebp - 0x18]
mov dword [ebp - 8], edi
cmp word [ebx + edi*2], 0x3d
je 0xb866c1
push 0x42
call fcn.00b85d72
jmp 0xb86413
movzx eax, word [ebx + edi*2 + 2]
lea ecx, [ebp - 0x18]
inc edi
mov dword [ebp - 8], edi
sub eax, 0x3d
je 0xb8674d
dec eax
je 0xb866d1
push 0x43
call fcn.00b85d72
jmp 0xb86413
cmp word [ebp - 0x10], 5
jne 0xb8632c
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
neg ecx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0xc]
adc eax, 0
neg eax
mov dword [ebp - 0x14], eax
mov eax, dword [edi + 4]
mov eax, dword [eax + ecx*4 - 4]
mov ecx, 0x49
mov word [eax + 8], cx
jmp 0xb8632c
push 0x45
call fcn.00b85d72
inc edi
mov dword [ebp - 8], edi
jmp 0xb86413
push 0x44
call fcn.00b85d72
inc edi
mov dword [ebp - 8], edi
jmp 0xb86413
mov edi, dword [ebp - 8]
cmp esi, 0x2e
jne 0xb86276
inc edi
lea ecx, [ebp - 0x28]
mov dword [ebp - 8], edi
call fcn.00b87d4c
movzx eax, word [ebx + edi*2]
cmp ax, 0x5a
jbe 0xb8671b
cmp ax, 0x61
jb 0xb86723
cmp ax, 0x7a
ja 0xb86723
push eax
lea ecx, [ebp - 0x28]
call fcn.00b878e4
inc edi
jmp 0xb866f9
cmp ax, 0x41
jae 0xb8670f
jmp 0xb86703
cmp ax, 0x30
jae 0xb86751
cmp ax, 0x5f
je 0xb8670f
cmp ax, 0x7f
ja 0xb8670f
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0xb86759
push 0x35
lea ecx, [ebp - 0x18]
call fcn.00b85d72
jmp 0xb86407
push 0x46
jmp 0xb866d3
cmp ax, 0x39
jbe 0xb8670f
jmp 0xb86729
lea eax, [edi - 1]
push eax
jmp 0xbbeabc
push edi
jmp 0xbbeabc
inc edi
lea ecx, [ebp - 0x18]
push 0x53
mov dword [ebp - 8], edi
call fcn.00b85d72
jmp 0xb86413
inc edi
lea ecx, [ebp - 0x18]
push 0x54
mov dword [ebp - 8], edi
call fcn.00b85d72
jmp 0xb86413
push 0x51
lea ecx, [ebp - 0x18]
call fcn.00b85d72
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x18]
push eax
call fcn.00b874cf
inc edi
mov dword [ebp - 8], edi
jmp 0xb8641f
push 0x57
lea ecx, [ebp - 0x18]
call fcn.00b85d72
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x18]
push eax
call fcn.00b874cf
inc edi
mov dword [ebp - 8], edi
jmp 0xb8641f
push 0x58
lea ecx, [ebp - 0x18]
call fcn.00b85d72
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x18]
push eax
call fcn.00b874cf
inc edi
mov dword [ebp - 8], edi
jmp 0xb8641f
test edi, edi
jne case.0xb862b8.27
cmp word [ebx + 2], di
jne case.0xb862b8.27
mov eax, dword [ebp + 8]
cmp eax, dword [0xc482a0]
jl case.0xb862b8.27
mov edi, 1
mov dword [ebp - 8], edi
jmp 0xb8641f
push 0x50
call fcn.00b85d72
inc edi
mov dword [ebp - 8], edi
jmp 0xb86413
dec eax
mov dword [ecx], eax
lea ecx, [ebp - 0x28]
call fcn.00b87fe9
mov eax, dword [ebp - 0x24]
add eax, 2
push eax
call fcn.00b87fd0
xor ecx, ecx
mov dword [ebp - 0x20], eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00ba18c6
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x24]
mov dword [ebp + 0xc], edx
lea ecx, [eax*2 + 2]
push ecx
push dword [ebp - 0x28]
push edx
call fcn.00ba1950
mov ecx, dword [ebp + 0xc]
add esp, 0xc
mov dword [ebp - 0x28], ecx
jmp 0xb863ba
push dword [ebp - 8]
push 0x138c
jmp 0xbbeac1
push edi
push 0x1388
push dword [ebp + 8]
call fcn.00be03e9
lea ecx, [ebp - 0x18]
push 0x7f
call fcn.00b85d72
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x18]
push eax
call fcn.00b874cf
jmp 0xbbeac9
push 0x138b
push dword [ebp + 8]
call fcn.00be03e9
or esi, 0xffffffff
jmp 0xb86446