Function at 0x10021e68
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1006840d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x330
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
cmp dword [ebp + 0x10], 0
jbe 0x10021eaf
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x10021eaf
movzx eax, word [ebp + 0x10]
push eax
push dword [ebp + 8]
call fcn.100217be
pop ecx
pop ecx
jmp 0x100234b4
mov dword [ebp - 0x1ac], 0x796b
mov dword [ebp - 0x1f8], 0x10008ec8
cmp dword [ebp - 0x1ac], 0x7a70
jle 0x10021fb1
and dword [ebp - 0x8c], 0
jmp 0x10021ee9
mov eax, dword [ebp - 0x8c]
inc eax
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0x5a84
jge 0x10021fb1
and dword [ebp - 0xbc], 0
jmp 0x10021f0f
mov eax, dword [ebp - 0xbc]
inc eax
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0x7cb
jge 0x10021fac
and dword [ebp - 0xd8], 0
jmp 0x10021f35
mov eax, dword [ebp - 0xd8]
inc eax
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0x386f
jge 0x10021fa7
and dword [ebp - 0xd4], 0
jmp 0x10021f57
mov eax, dword [ebp - 0xd4]
inc eax
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0x6507
jge 0x10021fa5
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xd4]
shl eax, cl
mov ecx, dword [ebp - 0x8c]
imul ecx, dword [ebp - 0xbc]
and eax, ecx
cdq
mov dword [ebp - 0x1f4], eax
mov dword [ebp - 0x1f0], edx
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
mov ecx, 0x106126b8
call fcn.1001b17a
jmp 0x10021f4a
jmp 0x10021f28
jmp 0x10021f02
jmp 0x10021edc
and dword [ebp - 4], 0
cmp dword [ebp - 0x1ac], 0x75ab
jge 0x10021fd1
mov edx, dword [ebp - 0x1f8]
mov ecx, 0x106126b8
call fcn.1001d6f2
jmp 0x10021fed
or dword [ebp - 4], 0xffffffff
jmp 0x10021ff7
cmp dword [ebp + 0x10], 0
jne 0x100229d8
mov edx, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
call fcn.1001e2bf
mov dword [ebp - 0xa0], eax
cmp dword [0x1061373c], 0
jne 0x100229a6
mov dword [ebp - 0x1e8], 0x47aa
lea eax, [ebp - 0x1e8]
push eax
call fcn.10021676
pop ecx
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x1b8], 0x124f
mov dword [ebp - 0x234], 0x10008f3c
cmp dword [ebp - 0x1b8], 0x135c
jle 0x10022146
and dword [ebp - 0x94], 0
jmp 0x10022076
mov eax, dword [ebp - 0x94]
inc eax
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0xe77
jge 0x10022139
and dword [ebp - 0x84], 0
jmp 0x1002209c
mov eax, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0x53ed
jge 0x10022134
and dword [ebp - 0x9c], 0
jmp 0x100220c2
mov eax, dword [ebp - 0x9c]
inc eax
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0x7479
jge 0x1002212f
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x84]
sar eax, cl
mov ecx, dword [ebp - 0x9c]
sar eax, cl
cdq
mov dword [ebp - 0x200], eax
mov dword [ebp - 0x1fc], edx
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
lea ecx, [ebp - 0x310]
call fcn.1000d8ea
pop ecx
pop ecx
mov dword [ebp - 0x22c], eax
mov ecx, dword [ebp - 0x22c]
call fcn.1001b15a
push eax
call fcn.10052776
pop ecx
lea ecx, [ebp - 0x310]
call fcn.1001b150
jmp 0x100220b5
jmp 0x1002208f
jmp 0x10022069
push 0x1d01
push 0
call dword [sym.imp.USER32.dll_CharLowerBuffW]
mov byte [ebp - 0x12c], 2
mov byte [ebp - 0x12b], 0x6a
mov byte [ebp - 0x12a], 3
mov byte [ebp - 0x129], 0x22
mov byte [ebp - 0x128], 0xa
mov byte [ebp - 0x127], 0x13
mov byte [ebp - 0x126], 0x32
mov byte [ebp - 0x125], 0xfa
mov byte [ebp - 0x124], 0xaa
mov byte [ebp - 0x123], 0x61
mov byte [ebp - 0x122], 0x70
mov byte [ebp - 0x121], 0xc9
mov byte [ebp - 0x120], 6
mov byte [ebp - 0x11f], 0x24
mov byte [ebp - 0x11e], 0xb
mov byte [ebp - 0x11d], 0x26
mov byte [ebp - 0x11c], 0xef
mov byte [ebp - 0x11b], 0xf6
mov byte [ebp - 0x11a], 0xca
mov byte [ebp - 0x119], 0x89
mov byte [ebp - 0x118], 0x77
mov byte [ebp - 0x117], 0x67
mov byte [ebp - 0x116], 0x93
mov byte [ebp - 0x115], 0xe5
mov byte [ebp - 0x114], 0x48
mov byte [ebp - 0x113], 0xb3
mov byte [ebp - 0x112], 0x97
mov byte [ebp - 0x111], 0x86
mov byte [ebp - 0x110], 0x89
mov byte [ebp - 0x10f], 0x8b
mov byte [ebp - 0x10e], 0x3c
mov byte [ebp - 0x10d], 0x44
mov byte [ebp - 0x10c], 0xd9
mov byte [ebp - 0x10b], 0x50
mov byte [ebp - 0x10a], 0x3e
mov byte [ebp - 0x109], pe_nt_image_headers32
mov byte [ebp - 0x108], 0xcd
mov byte [ebp - 0x107], 0x88
mov byte [ebp - 0x106], 0x94
mov byte [ebp - 0x105], 0x31
mov byte [ebp - 0x104], 0xf1
mov byte [ebp - 0x103], 0x16
mov byte [ebp - 0x102], 0x3d
mov byte [ebp - 0x101], 0x89
mov byte [ebp - 0x100], 0x31
mov byte [ebp - 0xff], 0xd9
mov byte [ebp - 0xfe], 0xed
mov byte [ebp - 0xfd], 0x70
mov byte [ebp - 0xfc], 0x2d
mov byte [ebp - 0xfb], 0x7a
mov byte [ebp - 0xfa], 0xdc
mov byte [ebp - 0xf9], 0x22
mov byte [ebp - 0xf8], pe_nt_image_headers32
mov byte [ebp - 0xf7], 0x44
mov byte [ebp - 0xf6], 0x12
mov byte [ebp - 0xf5], 0x61
mov byte [ebp - 0xf4], 0x22
mov byte [ebp - 0xf3], 7
mov byte [ebp - 0xf2], 0x2c
mov byte [ebp - 0xf1], 0xb
mov byte [ebp - 0xf0], 0x11
mov byte [ebp - 0xef], 1
mov byte [ebp - 0xee], 0x1d
mov byte [ebp - 0xed], 4
mov byte [ebp - 0xec], 0
mov byte [ebp - 0xeb], 5
mov byte [ebp - 0xea], 0x17
mov byte [ebp - 0xe9], 8
mov byte [ebp - 0xe8], 0x1d
mov byte [ebp - 0xe7], 9
mov byte [ebp - 0xe6], 1
mov byte [ebp - 0xe5], 6
mov byte [ebp - 0xe4], 0x1d
mov byte [ebp - 0xe3], 0
mov byte [ebp - 0xe2], 0x34
mov byte [ebp - 0xe1], 0xc
mov byte [ebp - 0xe0], 0x10
mov dword [ebp - 4], 2
cmp dword [ebp - 0x1b8], 0xfa5
jge 0x10022380
push dword [ebp - 0x234]
call fcn.10052776
pop ecx
jmp 0x1002239c
or dword [ebp - 4], 0xffffffff
jmp 0x100223a6
xor eax, eax
inc eax
shl eax, 0
movzx eax, byte [ebp + eax - 0x12c]
and eax, 0x1e
xor ecx, ecx
inc ecx
shl ecx, 0
movzx ecx, byte [ebp + ecx - 0x12c]
or ecx, 0x1e
sub ecx, eax
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0x12c]
mov byte [ebp + eax - 0x1cc], cl
mov dword [ebp - 0x1c], 2
and dword [ebp - 0x40], 0
jmp 0x100223f4
mov eax, dword [ebp - 0x1c]
inc eax
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x4d
jae 0x100224c3
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0x12c]
lea eax, [eax + eax + 2]
cmp dword [ebp - 0x1c], eax
jne 0x1002243b
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x12c]
inc eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x12c]
mov ecx, dword [ebp - 0x1c]
lea eax, [ecx + eax - 1]
mov dword [ebp - 0x1c], eax
jmp 0x100223ec
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x40]
movzx eax, byte [ebp + eax - 0x12e]
movsx eax, byte [ebp + eax - 0x1cc]
mov ecx, dword [ebp - 0x1c]
movzx ecx, byte [ebp + ecx - 0x12b]
and ecx, eax
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x40]
movzx eax, byte [ebp + eax - 0x12e]
movsx eax, byte [ebp + eax - 0x1cc]
mov edx, dword [ebp - 0x1c]
movzx edx, byte [ebp + edx - 0x12b]
and edx, eax
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x40]
movzx eax, byte [ebp + eax - 0x12e]
movsx eax, byte [ebp + eax - 0x1cc]
mov esi, dword [ebp - 0x1c]
movzx ebx, byte [ebp + esi - 0x12b]
add ebx, eax
sub ebx, edx
sub ebx, ecx
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x12c]
mov byte [ebp + eax - 0x1cc], bl
and dword [ebp - 0x40], 0
jmp 0x100223ec
xor eax, eax
inc eax
imul eax, eax, 0xd
mov byte [ebp + eax - 0x1cc], 0
lea eax, [ebp - 0x1cc]
push eax
lea ecx, [ebp - 0x2e0]
call fcn.1001b28f
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 0x244], eax
mov dword [ebp - 4], 4
mov edx, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x244]
call fcn.1001e2bf
mov dword [0x1061373c], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2e0]
call fcn.1001b317
and dword [ebp - 0xc4], 0
jmp 0x10022537
mov eax, dword [ebp - 0xc4]
inc eax
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0xe
jae 0x10022550
mov eax, dword [ebp - 0xc4]
mov byte [ebp + eax - 0x1cc], 0
jmp 0x1002252a
mov byte [ebp - 0x190], 0xa
mov byte [ebp - 0x18f], 0xbd
mov byte [ebp - 0x18e], 6
mov byte [ebp - 0x18d], 0x35
mov byte [ebp - 0x18c], 8
mov byte [ebp - 0x18b], 0x3f
mov byte [ebp - 0x18a], 0xd
mov byte [ebp - 0x189], 0x38
mov byte [ebp - 0x188], 0xc
mov byte [ebp - 0x187], 0x24
mov byte [ebp - 0x186], 9
mov byte [ebp - 0x185], 0x10
mov byte [ebp - 0x184], 0
mov byte [ebp - 0x183], 0x20
mov byte [ebp - 0x182], 4
mov byte [ebp - 0x181], 0x37
mov byte [ebp - 0x180], 1
mov byte [ebp - 0x17f], 6
mov byte [ebp - 0x17e], 3
mov byte [ebp - 0x17d], 0x13
mov byte [ebp - 0x17c], 0xb
mov byte [ebp - 0x17b], 0x12
mov byte [ebp - 0x17a], 0x44
mov byte [ebp - 0x179], 0x30
mov byte [ebp - 0x178], 0x9e
mov byte [ebp - 0x177], 0x85
mov byte [ebp - 0x176], 0x3e
mov byte [ebp - 0x175], 0xfb
mov byte [ebp - 0x174], 0x38
mov byte [ebp - 0x173], 0x4e
mov byte [ebp - 0x172], 0xfd
mov byte [ebp - 0x171], 0x6f
mov byte [ebp - 0x170], 0xc7
mov byte [ebp - 0x16f], 0xe4
mov byte [ebp - 0x16e], 0xe3
mov byte [ebp - 0x16d], 0xd3
mov byte [ebp - 0x16c], 0x1c
mov byte [ebp - 0x16b], 0x17
mov byte [ebp - 0x16a], 0x92
mov byte [ebp - 0x169], 0xdb
mov byte [ebp - 0x168], 0xe
mov byte [ebp - 0x167], 0x4f
mov byte [ebp - 0x166], 0x48
mov byte [ebp - 0x165], 0xa4
mov byte [ebp - 0x164], 0x8e
mov byte [ebp - 0x163], 0xa0
mov byte [ebp - 0x162], 0xbc
mov byte [ebp - 0x161], 0x59
mov byte [ebp - 0x160], 0x43
mov byte [ebp - 0x15f], 0xde
mov byte [ebp - 0x15e], 0xfb
mov byte [ebp - 0x15d], 0x11
mov byte [ebp - 0x15c], 5
mov byte [ebp - 0x15b], 0xd8
mov byte [ebp - 0x15a], 0xb6
mov byte [ebp - 0x159], 0x1c
mov byte [ebp - 0x158], 0x92
mov byte [ebp - 0x157], 0x29
mov byte [ebp - 0x156], 0xf1
mov byte [ebp - 0x155], 0x3d
mov byte [ebp - 0x154], 0xd2
mov byte [ebp - 0x153], 0x28
mov byte [ebp - 0x152], 0xa3
mov byte [ebp - 0x151], 0x33
mov byte [ebp - 0x150], 0xeb
mov byte [ebp - 0x14f], 0x8a
mov byte [ebp - 0x14e], 0x8d
mov byte [ebp - 0x14d], 0xf1
mov byte [ebp - 0x14c], 0x98
mov byte [ebp - 0x14b], 0xa2
mov byte [ebp - 0x14a], 0xee
mov byte [ebp - 0x149], 0x62
mov byte [ebp - 0x148], 0x76
mov byte [ebp - 0x147], 0xc8
mov byte [ebp - 0x146], 0xd7
mov byte [ebp - 0x145], 0x2a
mov byte [ebp - 0x144], 0xbe
mov byte [ebp - 0x143], 0xc
mov byte [ebp - 0x142], 0xc2
mov byte [ebp - 0x141], 0x43
mov byte [ebp - 0x140], 0x99
mov byte [ebp - 0x13f], 0xf7
mov byte [ebp - 0x13e], 0x33
mov byte [ebp - 0x13d], 0x5b
mov byte [ebp - 0x13c], 0x88
mov byte [ebp - 0x13b], 0xb0
mov byte [ebp - 0x13a], 0x85
mov byte [ebp - 0x139], 0xc7
mov byte [ebp - 0x138], 0x13
mov byte [ebp - 0x137], 0x39
mov byte [ebp - 0x136], 0x28
mov byte [ebp - 0x135], 2
mov byte [ebp - 0x134], 0x16
mov byte [ebp - 0x133], 7
mov byte [ebp - 0x132], 0x17
mov byte [ebp - 0x131], 5
mov byte [ebp - 0x130], 0x17
xor eax, eax
inc eax
shl eax, 0
movzx eax, byte [ebp + eax - 0x190]
and eax, 0xd8
xor ecx, ecx
inc ecx
shl ecx, 0
movzx ecx, byte [ebp + ecx - 0x190]
or ecx, 0xd8
sub ecx, eax
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0x190]
mov byte [ebp + eax - 0x1dc], cl
mov dword [ebp - 0x14], 2
and dword [ebp - 0x4c], 0
jmp 0x1002284a
mov eax, dword [ebp - 0x14]
inc eax
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x61
jae 0x10022919
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0x190]
lea eax, [eax + eax + 2]
cmp dword [ebp - 0x14], eax
jne 0x10022891
mov eax, dword [ebp - 0x14]
movzx eax, byte [ebp + eax - 0x190]
inc eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x14]
movzx eax, byte [ebp + eax - 0x190]
mov ecx, dword [ebp - 0x14]
lea eax, [ecx + eax - 1]
mov dword [ebp - 0x14], eax
jmp 0x10022842
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x4c]
movzx eax, byte [ebp + eax - 0x192]
movsx eax, byte [ebp + eax - 0x1dc]
mov ecx, dword [ebp - 0x14]
movzx ecx, byte [ebp + ecx - 0x18f]
and ecx, eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x4c]
movzx eax, byte [ebp + eax - 0x192]
movsx eax, byte [ebp + eax - 0x1dc]
mov edx, dword [ebp - 0x14]
movzx edx, byte [ebp + edx - 0x18f]
and edx, eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x4c]
movzx eax, byte [ebp + eax - 0x192]
movsx eax, byte [ebp + eax - 0x1dc]
mov esi, dword [ebp - 0x14]
movzx ebx, byte [ebp + esi - 0x18f]
add ebx, eax
sub ebx, edx
sub ebx, ecx
mov eax, dword [ebp - 0x14]
movzx eax, byte [ebp + eax - 0x190]
mov byte [ebp + eax - 0x1dc], bl
and dword [ebp - 0x4c], 0
jmp 0x10022842
xor eax, eax
inc eax
imul eax, eax, 0xe
mov byte [ebp + eax - 0x1dc], 0
lea eax, [ebp - 0x1dc]
push eax
lea ecx, [ebp - 0x2c8]
call fcn.1001b28f
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x21c]
mov dword [ebp - 0x1ec], eax
mov dword [ebp - 4], 5
mov edx, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x1ec]
call fcn.1001e2bf
mov dword [0x10613870], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c8]
call fcn.1001b317
and dword [ebp - 0xa4], 0
jmp 0x1002298d
mov eax, dword [ebp - 0xa4]
inc eax
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0xf
jae 0x100229a6
mov eax, dword [ebp - 0xa4]
mov byte [ebp + eax - 0x1dc], 0
jmp 0x10022980
mov eax, dword [0x1061373c]
cmp eax, dword [ebp - 0xa0]
je 0x100229c0
mov eax, dword [0x10613870]
cmp eax, dword [ebp - 0xa0]
jne 0x100229d8
mov ecx, dword [ebp + 0xc]
call fcn.1001b15a
push eax
push dword [ebp + 8]
call fcn.100217be
pop ecx
pop ecx
jmp 0x100234b4
mov eax, dword [ebp + 8]
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0
je 0x100234b2
mov eax, dword [ebp - 0xdc]
movzx eax, word [eax]
cmp eax, 0x5a4d
jne 0x100234b2
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xdc]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x44]
cmp dword [eax], 0x4550
jne 0x100234b2
mov eax, dword [ebp - 0x44]
cmp dword [eax + 0x74], 0
jbe 0x100234b2
push 8
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x44]
cmp dword [ecx + eax + 0x78], 0
je 0x100234b2
mov eax, dword [ebp + 8]
mov dword [ebp - 0x3c], eax
push 8
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x3c]
add edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x24], edx
mov eax, 0xffff
mov word [ebp - 0x20], ax
or dword [ebp - 0x38], 0xffffffff
cmp dword [ebp + 0x10], 0
jbe 0x10022a88
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + 0x10]
cmp ecx, dword [eax + 0x14]
ja 0x10022a83
mov eax, dword [ebp + 0x10]
dec eax
mov word [ebp - 0x20], ax
jmp 0x10022ee2
mov eax, dword [0x1061384c]
and eax, 1
jne 0x10022abf
mov eax, dword [0x1061384c]
or eax, 1
mov dword [0x1061384c], eax
mov dword [ebp - 4], 6
mov ecx, 0x10613808
call fcn.10023e96
push 0x10069291
call fcn.1005274c
pop ecx
or dword [ebp - 4], 0xffffffff
movzx eax, byte [0x1061374e]
test eax, eax
je 0x10022b28
mov ecx, 0x10613808
call fcn.10023f5b
movzx eax, al
test eax, eax
jne 0x10022b28
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x1a4]
push eax
mov ecx, 0x10613808
call fcn.10023f64
lea eax, [ebp - 0x248]
push eax
mov ecx, 0x10613808
call fcn.10023f4d
push eax
lea ecx, [ebp - 0x1a4]
call fcn.10023f7f
movzx eax, al
test eax, eax
je 0x10022b28
lea ecx, [ebp - 0x1a4]
call fcn.10023f79
mov eax, dword [eax + 4]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0xffffffff
jne 0x10022ee2
mov ecx, 0x10613808
call fcn.10023fd0
mov ecx, dword [ebp - 0x24]
add eax, dword [ecx + 0x18]
push eax
mov ecx, 0x10613808
call fcn.10023fd4
and dword [ebp - 0x34], 0
jmp 0x10022b5a
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [eax + 0x18]
jae 0x10022ee2
mov dword [ebp - 0x198], 0x3b0d
mov dword [ebp - 0x1e0], 0x10008f80
cmp dword [ebp - 0x198], 0x3d9a
jle 0x10022c64
and dword [ebp - 0xac], 0
jmp 0x10022ba3
mov eax, dword [ebp - 0xac]
inc eax
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0x615b
jge 0x10022c64
and dword [ebp - 0xcc], 0
jmp 0x10022bc9
mov eax, dword [ebp - 0xcc]
inc eax
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0x5dac
jge 0x10022c5f
and dword [ebp - 0xb4], 0
jmp 0x10022bef
mov eax, dword [ebp - 0xb4]
inc eax
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0x4bb8
jge 0x10022c5a
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xcc]
sar eax, cl
xor eax, dword [ebp - 0xb4]
cdq
mov dword [ebp - 0x20c], eax
mov dword [ebp - 0x208], edx
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
lea ecx, [ebp - 0x340]
call fcn.1000d8ea
pop ecx
pop ecx
mov dword [ebp - 0x240], eax
mov ecx, dword [ebp - 0x240]
call fcn.1001b15a
push eax
call fcn.10052776
pop ecx
lea ecx, [ebp - 0x340]
call fcn.1001b150
jmp 0x10022be2
jmp 0x10022bbc
jmp 0x10022b96
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x3c]
add ecx, dword [eax + 0x20]
mov eax, dword [ebp - 0x34]
lea eax, [ecx + eax*4]
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 4], 7
cmp dword [ebp - 0x198], 0x3af0
jge 0x10022c98
push dword [ebp - 0x1e0]
call fcn.10052776
pop ecx
jmp 0x10022cb4
or dword [ebp - 4], 0xffffffff
jmp 0x10022cbe
cmp dword [ebp - 0x1b4], 0
je 0x10022edd
mov eax, dword [ebp - 0x1b4]
mov ecx, dword [ebp - 0x3c]
add ecx, dword [eax]
push ecx
lea ecx, [ebp - 0x2b0]
call fcn.1001b28f
mov dword [ebp - 4], 9
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0x2b0]
call fcn.1001e2bf
mov dword [ebp - 0x1bc], eax
movzx eax, byte [0x1061374e]
test eax, eax
je 0x10022d1d
mov ecx, 0x10613808
call fcn.10023f5b
movzx eax, al
test eax, eax
jne 0x10022eb4
lea eax, [ebp - 0x1bc]
push eax
mov ecx, 0x10613808
call fcn.10023f92
mov ecx, dword [ebp - 0x34]
mov dword [eax], ecx
mov dword [ebp - 0x1a8], 0x4f6a
mov dword [ebp - 0x204], 0x10008fd0
cmp dword [ebp - 0x1a8], 0x4f82
jle 0x10022e65
and dword [ebp - 0xd0], 0
jmp 0x10022d6d
mov eax, dword [ebp - 0xd0]
inc eax
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0x3022
jge 0x10022e65
and dword [ebp - 0x88], 0
jmp 0x10022d93
mov eax, dword [ebp - 0x88]
inc eax
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0x58c9
jge 0x10022e60
and dword [ebp - 0x90], 0
jmp 0x10022db9
mov eax, dword [ebp - 0x90]
inc eax
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0x66b2
jge 0x10022e5b
and dword [ebp - 0x98], 0
jmp 0x10022ddf
mov eax, dword [ebp - 0x98]
inc eax
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0x324b
jge 0x10022e56
mov eax, dword [ebp - 0xd0]
imul eax, dword [ebp - 0x88]
cdq
idiv dword [ebp - 0x90]
imul edx, dword [ebp - 0x98]
mov eax, edx
cdq
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x214], edx
push dword [ebp - 0x214]
push dword [ebp - 0x218]
lea ecx, [ebp - 0x2f8]
call fcn.1000d8ea
pop ecx
pop ecx
mov dword [ebp - 0x228], eax
mov ecx, dword [ebp - 0x228]
call fcn.1001b15a
push eax
call fcn.10052776
pop ecx
lea ecx, [ebp - 0x2f8]
call fcn.1001b150
jmp 0x10022dd2
jmp 0x10022dac
jmp 0x10022d86
jmp 0x10022d60
mov byte [0x1061374e], 1
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x1a8], 0x4bdc
jge 0x10022e88
push dword [ebp - 0x204]
call fcn.10052776
pop ecx
jmp 0x10022ea4
mov dword [ebp - 4], 9
jmp 0x10022eb4
cmp dword [ebp - 0x38], 0xffffffff
jne 0x10022ece
mov eax, dword [ebp - 0x1bc]
cmp eax, dword [ebp - 0xa0]
jne 0x10022ece
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2b0]
call fcn.1001b317
jmp 0x10022b53
cmp dword [ebp + 0x10], 0
jne 0x10022f02
cmp dword [ebp - 0x38], 0xffffffff
je 0x10022f02
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x3c]
add ecx, dword [eax + 0x24]
mov eax, dword [ebp - 0x38]
mov ax, word [ecx + eax*2]
mov word [ebp - 0x20], ax
movzx eax, word [ebp - 0x20]
cmp eax, 0xffff
je 0x100234b2
movzx eax, word [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x3c]
add edx, dword [ecx + 0x1c]
lea eax, [edx + eax*4]
mov dword [ebp - 0x238], eax
mov eax, dword [ebp - 0x238]
mov ecx, dword [ebp - 0x3c]
add ecx, dword [eax]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x24]
jbe 0x100234ad
push 8
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x24]
add edx, dword [ecx + eax + 0x7c]
cmp dword [ebp - 0x28], edx
jae 0x100234ad
mov eax, dword [0x1061384c]
and eax, 2
jne 0x10022f8c
mov eax, dword [0x1061384c]
or eax, 2
mov dword [0x1061384c], eax
mov dword [ebp - 4], 0xc
push 0x498c
call fcn.1004eada
pop ecx
mov byte [0x106137dc], al
or dword [ebp - 4], 0xffffffff
mov byte [ebp - 0x80], 1
mov byte [ebp - 0x7f], 0x9c
mov byte [ebp - 0x7e], 0
mov byte [ebp - 0x7d], 8
mov byte [ebp - 0x7c], 0x2c
mov byte [ebp - 0x7b], 0xd
mov byte [ebp - 0x7a], 0x8f
mov byte [ebp - 0x79], 0x73
mov byte [ebp - 0x78], 0xf9
mov byte [ebp - 0x77], 0xae
mov byte [ebp - 0x76], pe_nt_image_headers32
mov byte [ebp - 0x75], 0xd
mov byte [ebp - 0x74], 0x67
mov byte [ebp - 0x73], 0x94
mov byte [ebp - 0x72], 0x87
mov byte [ebp - 0x71], 0x65
mov byte [ebp - 0x70], 0xe9
mov byte [ebp - 0x6f], 0x90
mov byte [ebp - 0x6e], 0xa3
mov byte [ebp - 0x6d], 0xa7
mov byte [ebp - 0x6c], 0x30
mov byte [ebp - 0x6b], 0x3d
mov byte [ebp - 0x6a], 0x23
mov byte [ebp - 0x69], 0xf3
mov byte [ebp - 0x68], 0x44
mov byte [ebp - 0x67], 0x7e
mov byte [ebp - 0x66], 0x27
mov byte [ebp - 0x65], 0x58
mov byte [ebp - 0x64], 0xf0
mov byte [ebp - 0x63], 0x54
mov byte [ebp - 0x62], 0x42
mov byte [ebp - 0x61], 0x98
mov byte [ebp - 0x60], 0x3a
mov byte [ebp - 0x5f], 0xc
mov byte [ebp - 0x5e], 0x46
mov byte [ebp - 0x5d], 0x5a
mov byte [ebp - 0x5c], 0x26
mov byte [ebp - 0x5b], 0xef
mov byte [ebp - 0x5a], 0x7b
mov byte [ebp - 0x59], 0x88
mov byte [ebp - 0x58], 0x5f
mov byte [ebp - 0x57], 0x75
mov byte [ebp - 0x56], 0xea
mov byte [ebp - 0x55], 0xa
mov byte [ebp - 0x54], 0xec
mov byte [ebp - 0x53], 0x19
mov byte [ebp - 0x52], 0xa0
mov byte [ebp - 0x51], 0x8c
mov byte [ebp - 0x50], 0x16
mov byte [ebp - 0x4f], 2
mov byte [ebp - 0x4e], 8
xor eax, eax
inc eax
shl eax, 0
movzx eax, byte [ebp + eax - 0x80]
and eax, 0xf0
xor ecx, ecx
inc ecx
shl ecx, 0
movzx ecx, byte [ebp + ecx - 0x80]
or ecx, 0xf0
sub ecx, eax
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0x80]
mov byte [ebp + eax - 0x30], cl
mov dword [ebp - 0x18], 2
and dword [ebp - 0x48], 0
jmp 0x1002309f
mov eax, dword [ebp - 0x18]
inc eax
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0x33
jae 0x1002314d
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0x80]
lea eax, [eax + eax + 2]
cmp dword [ebp - 0x18], eax
jne 0x100230dd
mov eax, dword [ebp - 0x18]
movzx eax, byte [ebp + eax - 0x80]
inc eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x18]
movzx eax, byte [ebp + eax - 0x80]
mov ecx, dword [ebp - 0x18]
lea eax, [ecx + eax - 1]
mov dword [ebp - 0x18], eax
jmp 0x10023097
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x48]
movzx eax, byte [ebp + eax - 0x82]
movsx eax, byte [ebp + eax - 0x30]
mov ecx, dword [ebp - 0x18]
movzx ecx, byte [ebp + ecx - 0x7f]
and ecx, eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x48]
movzx eax, byte [ebp + eax - 0x82]
movsx eax, byte [ebp + eax - 0x30]
mov edx, dword [ebp - 0x18]
movzx edx, byte [ebp + edx - 0x7f]
and edx, eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x48]
movzx eax, byte [ebp + eax - 0x82]
movsx eax, byte [ebp + eax - 0x30]
mov esi, dword [ebp - 0x18]
movzx ebx, byte [ebp + esi - 0x7f]
add ebx, eax
sub ebx, edx
sub ebx, ecx
mov eax, dword [ebp - 0x18]
movzx eax, byte [ebp + eax - 0x80]
mov byte [ebp + eax - 0x30], bl
and dword [ebp - 0x48], 0
jmp 0x10023097
xor eax, eax
inc eax
imul eax, eax, 3
mov byte [ebp + eax - 0x30], 0
mov eax, dword [0x1061384c]
and eax, 4
jne 0x10023193
mov eax, dword [0x1061384c]
or eax, 4
mov dword [0x1061384c], eax
mov dword [ebp - 4], 0xd
lea eax, [ebp - 0x30]
push eax
mov ecx, 0x106137c0
call fcn.1001b28f
push 0x10069282
call fcn.1005274c
pop ecx
or dword [ebp - 4], 0xffffffff
and dword [ebp - 0xa8], 0
jmp 0x100231a9
mov eax, dword [ebp - 0xa8]
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 4
jae 0x100231bf
mov eax, dword [ebp - 0xa8]
mov byte [ebp + eax - 0x30], 0
jmp 0x1002319c
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
movsx eax, byte [0x106137dc]
mov ecx, dword [ebp - 0x2c]
movsx ecx, byte [ecx]
cmp ecx, eax
je 0x100231df
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
jmp 0x100231c5
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
lea ecx, [ebp - 0x268]
call fcn.10024649
mov dword [ebp - 4], 0xe
mov dword [ebp - 0x1b0], 0x1d8c
mov dword [ebp - 0x230], 0x10009064
cmp dword [ebp - 0x1b0], 0x20bb
jle 0x1002333d
push 0x1d01
push 0
call dword [sym.imp.USER32.dll_CharLowerBuffW]
and dword [ebp - 0xc8], 0
jmp 0x10023245
mov eax, dword [ebp - 0xc8]
inc eax
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0x5a0a
jge 0x1002333d
and dword [ebp - 0xc0], 0
jmp 0x1002326b
mov eax, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0x2f62
jge 0x10023338
and dword [ebp - 0xb0], 0
jmp 0x10023291
mov eax, dword [ebp - 0xb0]
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0x3091
jge 0x10023333
and dword [ebp - 0xb8], 0
jmp 0x100232b7
mov eax, dword [ebp - 0xb8]
inc eax
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0xbd3
jge 0x1002332e
mov eax, dword [ebp - 0xb0]
imul eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xc0]
sub ecx, eax
xor ecx, dword [ebp - 0xc8]
mov eax, ecx
cdq
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x220], edx
push dword [ebp - 0x220]
push dword [ebp - 0x224]
lea ecx, [ebp - 0x328]
call fcn.1000d8ea
pop ecx
pop ecx
mov dword [ebp - 0x210], eax
mov ecx, dword [ebp - 0x210]
call fcn.1001b15a
push eax
call fcn.10052776
pop ecx
lea ecx, [ebp - 0x328]
call fcn.1001b150
jmp 0x100232aa
jmp 0x10023284
jmp 0x1002325e
jmp 0x10023238
push 0x106137c0
lea ecx, [ebp - 0x268]
call fcn.1001b321
mov byte [ebp - 4], 0xf
cmp dword [ebp - 0x1b0], 0x1b72
jge 0x10023369
push dword [ebp - 0x230]
call fcn.10052776
pop ecx
jmp 0x10023385
mov dword [ebp - 4], 0xe
jmp 0x10023395
lea eax, [ebp - 0x250]
push eax
lea ecx, [ebp - 0x268]
call fcn.10023e76
push dword [eax]
lea eax, [ebp - 0x24c]
push eax
lea ecx, [ebp - 0x268]
call fcn.10023e62
push dword [eax]
lea ecx, [ebp - 0x298]
call fcn.10024672
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0x298]
push eax
call fcn.1001fdca
pop ecx
mov dword [ebp - 0x194], eax
cmp dword [ebp - 0x194], 0
je 0x1002345c
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x280]
call fcn.1001b28f
mov byte [ebp - 4], 0x12
lea edx, [ebp - 0x1e4]
lea ecx, [ebp - 0x280]
call fcn.1001f24c
movzx eax, al
test eax, eax
je 0x1002342f
push 0
push dword [ebp - 0x1e4]
push 0
push dword [ebp - 0x194]
call fcn.10021e68
add esp, 0x10
mov dword [ebp - 0x28], eax
jmp 0x1002344b
push 1
push 0
lea eax, [ebp - 0x280]
push eax
push dword [ebp - 0x194]
call fcn.10021e68
add esp, 0x10
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x280]
call fcn.1001b317
jmp 0x1002348f
cmp dword [ebp + 0x10], 0
jne 0x10023472
mov ecx, dword [ebp + 0xc]
call fcn.1001b15a
mov dword [ebp - 0x19c], eax
jmp 0x1002347c
movzx eax, word [ebp + 0x10]
mov dword [ebp - 0x19c], eax
push dword [ebp - 0x19c]
push dword [ebp + 8]
call fcn.100217be
pop ecx
pop ecx
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x298]
call fcn.10023e1b
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x268]
call fcn.1001b317
mov eax, dword [ebp - 0x28]
jmp 0x100234b4
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret