Function at 0x10026fa0
Capabilities:
Parse pe header

Disassembly:
push 0xffffffffffffffff
push 0x1015883d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x160
mov eax, 0xe5
push ebx
cdq
idiv dword [0x1018c4b8]
mov eax, dword [0x1018c4b4]
push ebp
push esi
push edi
push 0xffffffffffffff94
mov byte [esp + 0x43], 0x2e
mov byte [esp + 0x44], 0xfb
mov byte [esp + 0x46], 0x45
mov byte [esp + 0x49], 0xf
mov cl, byte [edx + eax]
push ecx
call fcn.10026f90
mov cl, byte [0x1018c4df]
mov dl, 0x4d
add al, cl
mov edi, dword [esp + 0x188]
imul byte [0x1018c4de]
imul dl
xor ebp, ebp
add esp, 8
cmp edi, ebp
mov byte [esp + 0x3e], al
mov dword [esp + 0x4c], edi
je 0x1002701f
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov al, byte [0x1018c4dc]
mov ecx, dword [esp + 0x3e]
inc al
mov dword [esp + 0x178], ebp
mov byte [0x1018c4dc], al
add al, 0x6b
push 0xffffffffffffffb8
push eax
push ecx
push 0xffffffffffffff9e
call fcn.10026ec0
mov dl, 0x5a
mov cl, 0x47
imul dl
sub cl, al
push 0x101913e8
mov byte [0x1018c4dc], cl
call fcn.1013c2c2
mov ecx, dword [esp + 0x198]
add esp, 0x14
push eax
push 0x101913e8
call fcn.1000bf40
mov al, byte [0x1018c4dc]
mov byte [esp + 0x44], 0x2f
mov dl, al
push edx
push 0xffffffffffffffc1
push 0xffffffffffffffae
push eax
call fcn.10026ec0
mov al, byte [0x1018c4dc]
mov dword [esp + 0x3c], ebp
inc al
mov dword [esp + 0x40], ebp
mov byte [0x1018c4dc], al
mov al, byte [esp + 0x22]
mov byte [esp + 0x38], al
mov dword [esp + 0x44], ebp
mov eax, 0x10d
mov ecx, dword [0x1018c4b4]
cdq
idiv dword [0x1018c4b8]
push 0x45
mov byte [esp + 0x18c], 1
mov dl, byte [edx + ecx]
push edx
call fcn.100261c0
add esp, 0x18
cmp edi, ebp
mov byte [0x1018c4dc], al
je 0x10027854
jmp 0x100270e0
xor ebp, ebp
mov bl, byte [esp + 0x40]
mov dword [esp + 0x24], ebp
dec bl
mov byte [esp + 0x40], bl
mov al, byte [esp + 0x3f]
mov byte [esp + 0x178], 2
mov byte [0x1018c4df], al
inc al
lea ecx, [esp + 0x24]
mov byte [esp + 0x3f], al
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x2c]
mov ecx, dword [0x1018c4b8]
mov eax, 0x24d
cdq
idiv ecx
mov esi, dword [0x1018c4b4]
mov eax, 0x2c3
mov dl, byte [edx + esi]
push edx
cdq
idiv ecx
mov cl, 0x50
mov al, byte [edx + esi]
imul cl
push eax
call fcn.100261c0
mov eax, dword [esp + 0x2c]
add esp, 8
cmp eax, ebp
je 0x1002799f
mov dl, byte [esp + 0x12]
mov dword [esp + 0x18], ebp
mov byte [esp + 0x14], dl
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebp
mov eax, 0x11f
mov cl, byte [esp + 0x12]
cdq
idiv dword [0x1018c4b8]
mov eax, dword [0x1018c4b4]
mov byte [esp + 0x90], cl
push ebp
lea ecx, [esp + 0x94]
mov byte [esp + 0x17c], 3
mov bl, byte [edx + eax]
call fcn.1000bc70
push 0x101913e8
call fcn.1013c2c2
add esp, 4
lea ecx, [esp + 0x90]
push eax
push 0x101913e8
call fcn.1000bf40
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x90]
push 0xffffffffffffffff
lea eax, [esp + 0x18]
push edx
push eax
mov byte [esp + 0x184], 4
call fcn.10026380
push 1
lea ecx, [esp + 0x94]
mov esi, eax
mov byte [esp + 0x17c], 3
call fcn.1000bc70
cmp esi, ebp
jl 0x100279ac
mov al, byte [esp + 0x42]
mov edx, dword [esp + 0x45]
mov byte [esp + 0x64], al
inc al
dec bl
mov byte [esp + 0x42], al
mov byte [esp + 0x69], bl
mov ecx, dword [esp + 0x69]
push ecx
push edx
call fcn.10026f90
mov ecx, dword [esp + 0x6c]
mov bl, 0xeb
sub bl, al
mov al, byte [0x1018c4de]
push eax
push ecx
call fcn.100261c0
add bl, al
lea edx, [esp + 0x68]
mov byte [0x1018c4dc], bl
push edx
lea eax, [esp + 0x28]
or ebx, 0xffffffff
push edi
push eax
mov dword [esp + 0x74], ebx
call fcn.10026ee0
mov esi, eax
add esp, 0x1c
cmp esi, ebp
jl 0x10027a4a
call fcn.100e5840
mov cl, byte [esp + 0x12]
push ebp
mov byte [esp + 0x74], cl
lea ecx, [esp + 0x74]
mov byte [esp + 0x49], al
call fcn.1000bc70
mov dl, byte [esp + 0x42]
mov eax, 0x165
dec dl
mov byte [esp + 0x178], 5
mov byte [esp + 0x42], dl
mov dl, byte [0x1018c4de]
push edx
cdq
idiv dword [0x1018c4b8]
mov eax, dword [0x1018c4b4]
mov cl, byte [edx + eax]
mov edx, dword [esp + 0x43]
push ecx
push edx
call fcn.100261c0
add esp, 8
push eax
call fcn.10026f90
mov al, byte [0x1018c4df]
mov cl, byte [0x1018c4dd]
mov dl, byte [0x1018c4de]
push eax
mov eax, dword [esp + 0x4e]
push ecx
push edx
push eax
call fcn.10026ec0
mov edx, dword [edi]
add esp, 0x18
lea eax, [esp + 0x70]
mov ecx, edi
push eax
call dword [edx + 0xc]
mov esi, eax
cmp esi, ebp
jl 0x10027a90
mov eax, 0xff
mov ecx, dword [0x1018c4b4]
cdq
idiv dword [0x1018c4b8]
mov al, byte [0x10198410]
mov word [esp + 0x5c], 0x5e
test al, 1
mov word [esp + 0x5e], 0xf
mov word [esp + 0x60], 0xc
mov word [esp + 0x62], 8
mov dl, byte [edx + ecx]
mov byte [0x1018c4df], dl
jne 0x10027351
mov bl, al
lea eax, [esp + 0x5c]
or bl, 1
push eax
mov ecx, 0x10198414
mov byte [0x10198410], bl
call fcn.1002aa30
push 0x10027c20
call fcn.1013c36b
add esp, 4
mov cl, byte [esp + 0x12]
mov esi, dword [0x10198414]
mov byte [esp + 0x80], cl
push ebp
lea ecx, [esp + 0x84]
call fcn.1000bc70
push esi
call fcn.1013c2c2
add esp, 4
lea ecx, [esp + 0x80]
push eax
push esi
call fcn.1000bf40
mov al, byte [0x10198418]
mov byte [esp + 0x178], 6
test al, 1
mov word [esp + 0x54], 0x61
mov word [esp + 0x56], 0x5c
jne 0x100273cc
mov bl, al
lea edx, [esp + 0x54]
or bl, 1
push edx
mov ecx, 0x1019841c
mov byte [0x10198418], bl
call fcn.1002a9d0
push 0x10027c00
call fcn.1013c36b
add esp, 4
mov al, byte [esp + 0x12]
mov esi, dword [0x1019841c]
push ebp
lea ecx, [esp + 0xa4]
mov byte [esp + 0xa4], al
call fcn.1000bc70
push esi
call fcn.1013c2c2
add esp, 4
lea ecx, [esp + 0xa0]
push eax
push esi
call fcn.1000bf40
lea ecx, [esp + 0x80]
lea edx, [esp + 0xb0]
push ecx
push edi
push edx
mov byte [esp + 0x184], 7
call fcn.1002b020
add esp, 0xc
mov ebp, eax
mov al, byte [0x10198420]
mov byte [esp + 0x178], 8
test al, 1
mov word [esp + 0x12], 0x29
jne 0x10027465
mov bl, al
lea eax, [esp + 0x12]
or bl, 1
push 5
push eax
mov ecx, 0x10198424
mov byte [0x10198420], bl
call fcn.1000b9b0
push 0x10027c10
call fcn.1013c36b
add esp, 4
lea ecx, [esp + 0xa0]
lea edx, [esp + 0x140]
push ecx
push edi
push edx
call fcn.1002b020
add esp, 0xc
mov edi, eax
mov al, byte [0x10198428]
mov byte [esp + 0x178], 9
test al, 1
mov word [esp + 0x50], 0x1c
jne 0x100274bf
mov bl, al
lea eax, [esp + 0x50]
or bl, 1
push eax
mov ecx, 0x1019842c
mov byte [0x10198428], bl
call fcn.100153e0
push 0x10027bf0
call fcn.1013c36b
add esp, 4
mov al, byte [0x10198430]
mov word [esp + 0x52], 0xff34
test al, 1
jne 0x100274f6
mov bl, al
lea ecx, [esp + 0x52]
or bl, 1
push ecx
mov ecx, 0x10198434
mov byte [0x10198430], bl
call fcn.1002a950
push 0x10027be0
call fcn.1013c36b
add esp, 4
mov ecx, dword [esp + 0x18]
xor ebx, ebx
cmp ecx, ebx
jne 0x10027504
xor eax, eax
jmp 0x1002750d
mov eax, dword [esp + 0x1c]
sub eax, ecx
sar eax, 2
push 0xa
lea edx, [esp + 0x124]
push eax
push edx
call fcn.10021a90
add esp, 0xc
mov esi, eax
mov al, byte [0x10198438]
mov byte [esp + 0x178], 0xa
test al, 1
mov word [esp + 0x3a], 0x47
jne 0x10027563
mov cl, al
lea eax, [esp + 0x3a]
or cl, 1
push 0x6b
mov byte [0x10198438], cl
push eax
mov ecx, 0x1019843c
call fcn.1000b9b0
push 0x10027bd0
call fcn.1013c36b
add esp, 4
mov ecx, dword [esp + 0x58]
push 0xa
lea edx, [esp + 0x104]
push ecx
push edx
call fcn.10021a90
mov ecx, dword [0x1019843c]
lea edx, [esp + 0xec]
push ecx
push eax
push edx
mov byte [esp + 0x190], 0xb
call fcn.1000cf10
push esi
push eax
lea eax, [esp + 0x170]
mov byte [esp + 0x198], 0xc
push eax
call fcn.1000d050
mov ecx, dword [0x10198434]
lea edx, [esp + 0x134]
push ecx
push eax
push edx
mov byte [esp + 0x1a8], 0xd
call fcn.1000cf10
lea ecx, [esp + 0xa0]
lea edx, [esp + 0x100]
push ecx
push eax
push edx
mov byte [esp + 0x1b4], 0xe
call fcn.1000d050
mov ecx, dword [0x1019842c]
lea edx, [esp + 0x12c]
push ecx
push eax
push edx
mov byte [esp + 0x1c0], 0xf
call fcn.1000cf10
add esp, 0x48
push edi
push eax
lea eax, [esp + 0x168]
mov byte [esp + 0x180], 0x10
push eax
call fcn.1000d050
mov ecx, dword [0x10198424]
lea edx, [esp + 0x13c]
push ecx
push eax
push edx
mov byte [esp + 0x190], 0x11
call fcn.1000cf10
push ebp
push eax
lea eax, [esp + 0xe0]
mov byte [esp + 0x198], 0x12
push eax
call fcn.1000d050
add esp, 0x24
push 1
lea ecx, [esp + 0x134]
mov byte [esp + 0x17c], 0x20
call fcn.1000bc70
push 1
lea ecx, [esp + 0x164]
mov byte [esp + 0x17c], 0x1f
call fcn.1000bc70
push 1
lea ecx, [esp + 0xf4]
mov byte [esp + 0x17c], 0x1e
call fcn.1000bc70
push 1
lea ecx, [esp + 0xd4]
mov byte [esp + 0x17c], 0x1d
call fcn.1000bc70
push 1
lea ecx, [esp + 0x114]
mov byte [esp + 0x17c], 0x1c
call fcn.1000bc70
push 1
lea ecx, [esp + 0x154]
mov byte [esp + 0x17c], 0x1b
call fcn.1000bc70
push 1
lea ecx, [esp + 0xe4]
mov byte [esp + 0x17c], 0x1a
call fcn.1000bc70
push 1
lea ecx, [esp + 0x104]
mov byte [esp + 0x17c], 0x19
call fcn.1000bc70
push 1
lea ecx, [esp + 0x124]
mov byte [esp + 0x17c], 0x18
call fcn.1000bc70
push 1
lea ecx, [esp + 0x144]
mov byte [esp + 0x17c], 0x17
call fcn.1000bc70
push 1
lea ecx, [esp + 0xb4]
mov byte [esp + 0x17c], 0x16
call fcn.1000bc70
push 1
lea ecx, [esp + 0xa4]
mov byte [esp + 0x17c], 0x15
call fcn.1000bc70
push 1
lea ecx, [esp + 0x84]
mov byte [esp + 0x17c], 0x14
call fcn.1000bc70
mov al, byte [0x1018c4dd]
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0xc0]
add al, 0xeb
push ecx
push 1
push edx
lea ecx, [esp + 0x34]
mov byte [0x1018c4dd], al
call fcn.10024390
mov eax, dword [esp + 0x24]
mov byte [0x1018c4dc], 0x51
cmp eax, ebx
mov esi, eax
je 0x100277ad
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
mov eax, dword [esp + 0x4c]
cmp eax, ebx
je 0x100277bb
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov al, byte [esp + 0x44]
push 1
dec al
lea ecx, [esp + 0xc4]
mov dword [esp + 0x50], esi
mov byte [esp + 0x48], al
mov byte [esp + 0x17c], 5
call fcn.1000bc70
push 1
lea ecx, [esp + 0x74]
mov byte [esp + 0x17c], 3
call fcn.1000bc70
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
cmp edi, eax
mov byte [esp + 0x178], 2
mov ebp, eax
je 0x1002781b
push ebx
mov ecx, edi
call fcn.1000f350
add edi, 4
cmp edi, ebp
jne 0x10027808
mov edi, dword [esp + 0x18]
push edi
call fcn.101307a0
mov eax, dword [esp + 0x28]
add esp, 4
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
cmp eax, ebx
mov byte [esp + 0x178], 1
je 0x10027846
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edi, dword [esp + 0x4c]
cmp esi, ebx
jne 0x100270de
xor ebp, ebp
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x2c]
cmp ebx, esi
jae 0x10027875
sub esi, 0x10
push ebp
push esi
push ebx
call fcn.1002b8c0
add ebx, 0x10
add esp, 0xc
cmp ebx, esi
jb 0x10027860
mov eax, 0x25b
cdq
idiv dword [0x1018c4b8]
mov eax, dword [0x1018c4b4]
mov cl, byte [edx + eax]
push ecx
push 0xfffffffffffffff3
call fcn.100261c0
mov al, byte [0x10198440]
add esp, 8
test al, 1
mov word [esp + 0x3a], 0x1f
jne 0x100278cb
mov bl, al
lea edx, [esp + 0x3a]
or bl, 1
push edx
mov ecx, 0x10198444
mov byte [0x10198440], bl
call fcn.100153e0
push 0x10027c30
call fcn.1013c36b
add esp, 4
mov al, byte [esp + 0x12]
mov ebx, dword [0x10198444]
push ebp
lea ecx, [esp + 0x18]
mov byte [esp + 0x18], al
call fcn.1000bc70
push ebx
call fcn.1013c2c2
add esp, 4
mov esi, eax
lea ecx, [esp + 0x14]
push 1
push esi
call fcn.1000c010
test al, al
je 0x10027919
mov ecx, dword [esp + 0x18]
push esi
push ebx
push ecx
call fcn.100017d0
mov edx, dword [esp + 0x24]
mov dword [esp + 0x28], esi
add esp, 0xc
mov word [edx + esi*2], bp
lea eax, [esp + 0x14]
lea ecx, [esp + 0x28]
push eax
lea edx, [esp + 0xb4]
mov bl, 0x21
push ecx
push edx
mov byte [esp + 0x184], bl
call fcn.10022140
add esp, 0xc
mov ecx, dword [0x1016a210]
mov byte [esp + 0x178], 0x22
push ecx
mov ecx, dword [esp + 0x188]
push ebp
push eax
call fcn.1000ba60
push 1
lea ecx, [esp + 0xb4]
mov byte [esp + 0x17c], bl
call fcn.1000bc70
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x178], 1
cmp ecx, ebp
je 0x10027b42
mov al, byte [ecx - 1]
test al, al
je 0x10027b36
cmp al, 0xff
je 0x10027b36
dec al
mov byte [ecx - 1], al
jmp 0x10027b42
mov byte [esp + 0x178], 1
jmp 0x10027854
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push edx
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x180], 2
call fcn.1000bd90
mov ecx, dword [esp + 0x18]
push ecx
call fcn.101307a0
mov eax, dword [esp + 0x28]
add esp, 4
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebp
cmp eax, ebp
mov byte [esp + 0x178], 1
je 0x100279f6
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
push eax
push ecx
lea ecx, [esp + 0x30]
mov byte [esp + 0x180], 0
call fcn.100242a0
mov edx, dword [esp + 0x2c]
push edx
call fcn.101307a0
add esp, 4
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], ebp
cmp edi, ebp
mov dword [esp + 0x178], 0xffffffff
je 0x10027b32
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov eax, esi
jmp 0x10027bad
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push ecx
push edx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x180], 2
call fcn.1000bd90
mov eax, dword [esp + 0x18]
push eax
call fcn.101307a0
mov eax, dword [esp + 0x28]
add esp, 4
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebp
cmp eax, ebp
mov byte [esp + 0x178], 1
je 0x10027aed
jmp 0x10027ae7
push 1
lea ecx, [esp + 0x74]
mov byte [esp + 0x17c], 3
call fcn.1000bc70
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push eax
push ecx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x180], 2
call fcn.1000bd90
mov edx, dword [esp + 0x18]
push edx
call fcn.101307a0
mov eax, dword [esp + 0x28]
add esp, 4
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebp
cmp eax, ebp
mov byte [esp + 0x178], 1
je 0x10027aed
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
push edx
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x180], 0
call fcn.100242a0
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.101307a0
add esp, 4
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], ebp
cmp edi, ebp
mov dword [esp + 0x178], ebx
je 0x10027b32
mov edx, dword [edi]
push edi
call dword [edx + 8]
mov eax, esi
jmp 0x10027bad
lea eax, [ecx - 2]
push eax
call fcn.101307a0
add esp, 4
xor eax, eax
mov ebx, dword [esp + 0x30]
cdq
idiv dword [0x1018c4b8]
mov eax, dword [0x1018c4b4]
mov esi, dword [esp + 0x2c]
cmp esi, ebx
mov cl, byte [edx + eax]
mov byte [0x1018c4dd], cl
mov byte [esp + 0x178], 0
je 0x10027b81
push 1
mov ecx, esi
call fcn.1000bc70
add esi, 0x10
cmp esi, ebx
jne 0x10027b6d
mov esi, dword [esp + 0x2c]
push esi
call fcn.101307a0
add esp, 4
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], ebp
cmp edi, ebp
mov dword [esp + 0x178], 0xffffffff
je 0x10027bab
mov edx, dword [edi]
push edi
call dword [edx + 8]
xor eax, eax
mov ecx, dword [esp + 0x170]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x16c
ret