Function at 0x10040cd0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100943d3
mov eax, dword fs:[0]
push eax
sub esp, 0x450
mov eax, dword [0x100bb084]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x30c], edi
mov byte [ebp - 0xa0], 0x64
mov al, 6
xor al, byte [ebp - 0xa0]
mov dl, 0x10
mov byte [ebp - 0x9f], al
mov dh, 0xb
mov al, byte [ebp - 0xa0]
mov bl, 0xa
xor dl, al
mov byte [ebp - 0x7a], 1
xor dh, al
mov byte [ebp - 0x9e], dl
mov byte [ebp - 0x99], dh
xor bl, al
mov ah, 0x3b
mov byte [ebp - 0x96], 0
xor ah, al
mov byte [ebp - 0x9d], bl
mov cl, 7
mov byte [ebp - 0x9c], ah
xor cl, al
mov byte [ebp - 0x96], 0
mov ch, 8
mov byte [ebp - 0x9b], cl
xor ch, al
mov bh, 0x17
xor bh, al
mov byte [ebp - 0x9a], ch
mov al, byte [ebp - 0x7a]
sub esp, 0x18
xor al, byte [ebp - 0xa0]
mov edx, esp
mov byte [ebp - 0x98], bh
mov byte [ebp - 0x97], al
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x10040dac
mov eax, dword [edx]
jmp 0x10040dae
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x9f], 0
jne 0x10040dbe
xor ecx, ecx
jmp 0x10040dd0
lea ecx, [ebp - 0x9f]
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10040dc7
sub ecx, esi
push ecx
lea eax, [ebp - 0x9f]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [edi]
call fcn.10014550
mov dword [edi + 4], eax
add esp, 0x18
mov cl, 0x3f
mov dword [ebp - 0x1dc], 0x4b474b3f
mov dword [ebp - 0x1d8], 0x5a4d5b60
xor eax, eax
mov dword [ebp - 0x1d4], 0x504c525e
mov word [ebp - 0x1d0], 0x4b59
mov byte [ebp - 0x1ce], 0
nop
xor byte [ebp + eax - 0x1db], cl
inc eax
cmp eax, 0xd
jae 0x10040e35
mov cl, byte [ebp - 0x1dc]
jmp 0x10040e20
sub esp, 0x18
mov byte [ebp - 0x1ce], 0
mov edx, esp
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x10040e60
mov eax, dword [edx]
jmp 0x10040e62
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x1db], 0
jne 0x10040e72
xor ecx, ecx
jmp 0x10040e89
lea ecx, [ebp - 0x1db]
lea esi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10040e80
sub ecx, esi
push ecx
lea eax, [ebp - 0x1db]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [edi]
call fcn.10014550
mov dword [edi + 0xc], eax
mov dh, 0x4f
mov byte [ebp - 0xc4], 0x3c
mov al, 0x48
mov dl, al
mov byte [ebp - 0xbb], 0
xor al, byte [ebp - 0xc4]
mov cl, 0x44
mov byte [ebp - 0xc3], al
mov bl, 0x63
mov al, byte [ebp - 0xc4]
mov ah, 0x5f
xor dl, al
mov byte [ebp - 0xbb], 0
mov byte [ebp - 0xc1], dl
xor dh, al
mov byte [ebp - 0xbd], dh
mov ch, 0x5d
mov edx, esp
mov bh, 0x54
xor cl, al
xor bl, al
mov byte [ebp - 0xc2], cl
xor ah, al
mov byte [ebp - 0xc0], bl
xor ch, al
mov byte [ebp - 0xbf], ah
xor bh, al
mov byte [ebp - 0xbe], ch
mov byte [ebp - 0xbc], bh
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x10040f32
mov eax, dword [edx]
jmp 0x10040f34
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0xc3], 0
jne 0x10040f44
xor ecx, ecx
jmp 0x10040f59
lea ecx, [ebp - 0xc3]
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10040f50
sub ecx, esi
push ecx
lea eax, [ebp - 0xc3]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [edi]
call fcn.10014550
movaps xmm0, xmmword [0x100aeea0]
add esp, 0x18
mov dword [edi + 8], eax
xor ecx, ecx
movups xmmword [ebp - 0x3fc], xmm0
nop word [eax + eax]
mov al, byte [ebp - 0x3fc]
xor byte [ebp + ecx - 0x3fb], al
inc ecx
cmp ecx, 0xe
jb 0x10040f90
sub esp, 0x18
mov byte [ebp - 0x3ed], 0
mov edx, esp
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x10040fce
mov eax, dword [edx]
jmp 0x10040fd0
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x3fb], 0
jne 0x10040fe0
xor ecx, ecx
jmp 0x10040ff9
lea ecx, [ebp - 0x3fb]
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10040ff0
sub ecx, esi
push ecx
lea eax, [ebp - 0x3fb]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [edi]
call fcn.10014550
mov dword [edi + 0x5c], eax
mov dl, 0x2d
mov byte [ebp - 0xd0], 0x6e
mov al, 0x3c
xor al, byte [ebp - 0xd0]
mov dh, 9
mov byte [ebp - 0xcf], al
mov cl, 0xb
mov al, byte [ebp - 0xd0]
mov bh, cl
xor dl, al
mov byte [ebp - 0xc7], 0
mov byte [ebp - 0xcd], dl
xor dh, al
mov byte [ebp - 0xc9], dh
mov bl, 6
mov edx, esp
mov byte [ebp - 0xc7], 0
mov ah, 0xf
mov ch, 0x1c
xor cl, al
xor bl, al
mov byte [ebp - 0xce], cl
xor ah, al
mov byte [ebp - 0xcc], bl
xor ch, al
mov byte [ebp - 0xcb], ah
xor bh, al
mov byte [ebp - 0xca], ch
mov byte [ebp - 0xc8], bh
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x100410a2
mov eax, dword [edx]
jmp 0x100410a4
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0xcf], 0
jne 0x100410b4
xor ecx, ecx
jmp 0x100410c9
lea ecx, [ebp - 0xcf]
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100410c0
sub ecx, esi
push ecx
lea eax, [ebp - 0xcf]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [edi + 0x5c]
call fcn.10014550
mov dword [edi + 0xdc], eax
add esp, 0x18
lea eax, [edi + 0xe0]
mov dword [ebp - 0x88], 5
xor ebx, ebx
mov dword [ebp - 0x8c], eax
sub esp, 0x18
mov dword [ebp - 0x1ec], 0x7c717015
mov dword [ebp - 0x90], esp
mov cl, 0x15
mov dword [ebp - 0x1e8], 0x7b7c4a61
xor eax, eax
mov dword [ebp - 0x1e4], 0x4a616065
push ebx
mov word [ebp - 0x1e0], 0x7130
mov byte [ebp - 0x1de], 0
nop dword [eax]
xor byte [ebp + eax - 0x1eb], cl
inc eax
cmp eax, 0xd
jae 0x10041155
mov cl, byte [ebp - 0x1ec]
jmp 0x10041140
sub esp, 0x18
mov byte [ebp - 0x1de], 0
mov edx, esp
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x10041180
mov eax, dword [edx]
jmp 0x10041182
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x1eb], 0
jne 0x10041192
xor ecx, ecx
jmp 0x100411a9
lea ecx, [ebp - 0x1eb]
lea esi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100411a0
sub ecx, esi
push ecx
lea eax, [ebp - 0x1eb]
mov ecx, edx
push eax
call fcn.10004a40
push dword [ebp - 0x90]
call fcn.100043b0
mov ecx, dword [edi + 0xdc]
add esp, 0x20
call fcn.10014550
mov esi, eax
add esp, 0x18
mov eax, dword [ebp - 0x8c]
mov dword [eax], esi
test esi, esi
je 0x10041208
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10041208
push 4
add esi, 0x128
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10041208
mov dword [esi], 4
add dword [ebp - 0x8c], 4
inc ebx
sub dword [ebp - 0x88], 1
jne 0x10041101
mov cl, 0x1d
mov dword [ebp - 0x14c], 0x73697f1d
mov dword [ebp - 0x148], 0x73727e42
xor eax, eax
mov dword [ebp - 0x144], 0x706f747b
mov byte [ebp - 0x140], 0
nop word [eax + eax]
xor byte [ebp + eax - 0x14b], cl
inc eax
cmp eax, 0xb
jae 0x10041265
mov cl, byte [ebp - 0x14c]
jmp 0x10041250
sub esp, 0x18
mov byte [ebp - 0x140], 0
mov edx, esp
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x10041290
mov eax, dword [edx]
jmp 0x10041292
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x14b], 0
jne 0x100412a2
xor ecx, ecx
jmp 0x100412b9
lea ecx, [ebp - 0x14b]
lea esi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100412b0
sub ecx, esi
push ecx
lea eax, [ebp - 0x14b]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [edi + 0xdc]
call fcn.10014550
mov dword [edi + 0xf4], eax
mov cl, 0x1b
mov byte [ebp - 0x10c], 0x6f
mov al, 0xd
xor al, byte [ebp - 0x10c]
mov dl, 1
xor cl, byte [ebp - 0x10c]
mov dh, dl
mov byte [ebp - 0x10b], al
mov ah, 0xc
mov byte [ebp - 0x10a], cl
mov bh, ah
mov cl, byte [ebp - 0x10c]
mov bl, 0x30
mov byte [ebp - 0x7a], 0xa
xor dl, cl
mov al, byte [ebp - 0x7a]
xor dh, cl
xor al, cl
mov byte [ebp - 0x109], dl
mov byte [ebp - 0x103], al
mov ch, 0xe
mov byte [ebp - 0x105], dh
xor bl, cl
mov edx, esp
mov byte [ebp - 0x79], 3
mov al, byte [ebp - 0x79]
xor ah, cl
mov byte [ebp - 0x101], 0
xor ch, cl
mov byte [ebp - 0x108], bl
xor bh, cl
mov byte [ebp - 0x107], ah
xor al, cl
mov byte [ebp - 0x106], ch
mov byte [ebp - 0x104], bh
mov byte [ebp - 0x102], al
mov byte [ebp - 0x101], 0
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x1004138b
mov eax, dword [edx]
jmp 0x1004138d
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x10b], 0
jne 0x1004139d
xor ecx, ecx
jmp 0x100413af
lea ecx, [ebp - 0x10b]
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100413a6
sub ecx, esi
push ecx
lea eax, [ebp - 0x10b]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [edi + 0xdc]
call fcn.10014550
mov dword [edi + 0xf8], eax
add esp, 0x18
mov esi, dword [edi + 0xdc]
test esi, esi
je 0x100413f2
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100413f2
push eax
mov ecx, esi
call dword [0x100ad890]
movaps xmm0, xmmword [0x100af7f0]
xor ecx, ecx
movups xmmword [ebp - 0x364], xmm0
mov word [ebp - 0x354], 0x58
nop dword [eax + eax]
mov al, byte [ebp - 0x364]
xor byte [ebp + ecx - 0x363], al
inc ecx
cmp ecx, 0x10
jb 0x10041410
sub esp, 0x18
mov byte [ebp - 0x353], 0
mov edx, esp
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x1004144e
mov eax, dword [edx]
jmp 0x10041450
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x363], 0
jne 0x10041460
xor ecx, ecx
jmp 0x10041479
lea ecx, [ebp - 0x363]
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10041470
sub ecx, esi
push ecx
lea eax, [ebp - 0x363]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [edi + 0x5c]
call fcn.10014550
mov dword [edi + 0x34], eax
add esp, 0x18
mov cl, 0x58
mov dword [ebp - 0x22c], 0x37300b58
mov dword [ebp - 0x228], 0x36312828
xor eax, eax
mov dword [ebp - 0x224], 0x3916073f
mov word [ebp - 0x220], 0x3d35
mov byte [ebp - 0x21e], 0
nop dword [eax + eax]
xor byte [ebp + eax - 0x22b], cl
inc eax
cmp eax, 0xd
jae 0x100414e5
mov cl, byte [ebp - 0x22c]
jmp 0x100414d0
sub esp, 0x18
mov byte [ebp - 0x21e], 0
mov edx, esp
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x10041510
mov eax, dword [edx]
jmp 0x10041512
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x22b], 0
jne 0x10041522
xor ecx, ecx
jmp 0x10041539
lea ecx, [ebp - 0x22b]
lea esi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10041530
sub ecx, esi
push ecx
lea eax, [ebp - 0x22b]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [edi + 0x34]
call fcn.10014550
movaps xmm0, xmmword [0x100aef90]
add esp, 0x18
mov dword [edi + 0x38], eax
xor ecx, ecx
movups xmmword [ebp - 0x3c8], xmm0
nop word [eax + eax]
mov al, byte [ebp - 0x3c8]
xor byte [ebp + ecx - 0x3c7], al
inc ecx
cmp ecx, 0xe
jb 0x10041570
sub esp, 0x18
mov byte [ebp - 0x3b9], 0
mov edx, esp
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x100415ae
mov eax, dword [edx]
jmp 0x100415b0
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x3c7], 0
jne 0x100415c0
xor ecx, ecx
jmp 0x100415d9
lea ecx, [ebp - 0x3c7]
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100415d0
sub ecx, esi
push ecx
lea eax, [ebp - 0x3c7]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [edi + 0x34]
call fcn.10014550
movaps xmm0, xmmword [0x100afd20]
add esp, 0x18
mov dword [edi + 0x3c], eax
xor ecx, ecx
movups xmmword [ebp - 0x350], xmm0
mov word [ebp - 0x340], 0x666b
mov byte [ebp - 0x33e], 0
nop word [eax + eax]
mov al, byte [ebp - 0x350]
xor byte [ebp + ecx - 0x34f], al
inc ecx
cmp ecx, 0x11
jb 0x10041620
sub esp, 0x18
mov byte [ebp - 0x33e], 0
mov edx, esp
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x1004165e
mov eax, dword [edx]
jmp 0x10041660
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x34f], 0
jne 0x10041670
xor ecx, ecx
jmp 0x10041689
lea ecx, [ebp - 0x34f]
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10041680
sub ecx, esi
push ecx
lea eax, [ebp - 0x34f]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [edi + 0x34]
call fcn.10014550
mov dword [edi + 0x40], eax
add esp, 0x18
mov cl, 0x32
mov dword [ebp - 0x1fc], 0x5d5a6132
mov dword [ebp - 0x1f8], 0x5c5b4242
xor eax, eax
mov dword [ebp - 0x1f4], 0x517b6d55
mov word [ebp - 0x1f0], 0x5c5d
mov byte [ebp - 0x1ee], 0
nop dword [eax + eax]
xor byte [ebp + eax - 0x1fb], cl
inc eax
cmp eax, 0xd
jae 0x100416f5
mov cl, byte [ebp - 0x1fc]
jmp 0x100416e0
sub esp, 0x18
mov byte [ebp - 0x1ee], 0
mov edx, esp
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x10041720
mov eax, dword [edx]
jmp 0x10041722
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x1fb], 0
jne 0x10041732
xor ecx, ecx
jmp 0x10041749
lea ecx, [ebp - 0x1fb]
lea esi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10041740
sub ecx, esi
push ecx
lea eax, [ebp - 0x1fb]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [edi + 0x34]
call fcn.10014550
mov dword [edi + 0x44], eax
add esp, 0x18
mov cl, 0x53
mov dword [ebp - 0x15c], 0x3d273153
mov dword [ebp - 0x158], 0x3d3c300c
xor eax, eax
mov dword [ebp - 0x154], 0x3e213a35
mov byte [ebp - 0x150], 0
nop
xor byte [ebp + eax - 0x15b], cl
inc eax
cmp eax, 0xb
jae 0x100417a5
mov cl, byte [ebp - 0x15c]
jmp 0x10041790
sub esp, 0x18
mov byte [ebp - 0x150], 0
mov edx, esp
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x100417d0
mov eax, dword [edx]
jmp 0x100417d2
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x15b], 0
jne 0x100417e2
xor ecx, ecx
jmp 0x100417f9
lea ecx, [ebp - 0x15b]
lea esi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100417f0
sub ecx, esi
push ecx
lea eax, [ebp - 0x15b]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [edi + 0x34]
call fcn.10014550
mov dword [edi + 0x48], eax
mov cl, 0x1a
mov byte [ebp - 0x118], 0x6e
mov al, 0xc
xor al, byte [ebp - 0x118]
xor dh, dh
xor cl, byte [ebp - 0x118]
xor dl, dl
mov byte [ebp - 0x117], al
mov ah, 0xd
mov byte [ebp - 0x10d], dh
mov bh, ah
mov byte [ebp - 0x116], cl
mov bl, 0x31
mov cl, byte [ebp - 0x118]
mov ch, 0xf
mov byte [ebp - 0x79], 0xb
xor dl, cl
mov al, byte [ebp - 0x79]
xor dh, cl
xor al, cl
mov byte [ebp - 0x115], dl
mov byte [ebp - 0x10f], al
xor bl, cl
mov byte [ebp - 0x111], dh
xor ah, cl
mov edx, esp
mov byte [ebp - 0x7a], 2
mov al, byte [ebp - 0x7a]
xor ch, cl
mov byte [ebp - 0x114], bl
xor bh, cl
mov byte [ebp - 0x113], ah
xor al, cl
mov byte [ebp - 0x112], ch
mov byte [ebp - 0x110], bh
mov byte [ebp - 0x10e], al
mov byte [ebp - 0x10d], 0
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x100418c4
mov eax, dword [edx]
jmp 0x100418c6
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x117], 0
jne 0x100418d6
xor ecx, ecx
jmp 0x100418e9
lea ecx, [ebp - 0x117]
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100418e0
sub ecx, esi
push ecx
lea eax, [ebp - 0x117]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [edi + 0x34]
call fcn.10014550
mov ebx, dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
add esp, 0x18
mov dword [edi + 0x4c], eax
mov esi, dword [edi + 0x34]
test esi, esi
je 0x10041925
push 4
push esi
call ebx
test eax, eax
jne 0x10041925
push eax
mov ecx, esi
call dword [0x100ad890]
movaps xmm0, xmmword [0x100af660]
xor ecx, ecx
movups xmmword [ebp - 0x324], xmm0
mov dword [ebp - 0x314], 0x24061a28
mov word [ebp - 0x310], 0x3137
mov byte [ebp - 0x30e], 0
nop
mov al, byte [ebp - 0x324]
xor byte [ebp + ecx - 0x323], al
inc ecx
cmp ecx, 0x15
jb 0x10041950
sub esp, 0x18
mov byte [ebp - 0x30e], 0
mov edx, esp
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x1004198e
mov eax, dword [edx]
jmp 0x10041990
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x323], 0
jne 0x100419a0
xor ecx, ecx
jmp 0x100419b9
lea ecx, [ebp - 0x323]
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100419b0
sub ecx, esi
push ecx
lea eax, [ebp - 0x323]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [edi + 0x5c]
call fcn.10014550
movaps xmm0, xmmword [0x100aefe0]
add esp, 0x18
mov dword [edi + 0xfc], eax
xor ecx, ecx
movups xmmword [ebp - 0x3d8], xmm0
nop dword [eax]
mov al, byte [ebp - 0x3d8]
xor byte [ebp + ecx - 0x3d7], al
inc ecx
cmp ecx, 0xe
jb 0x100419f0
sub esp, 0x18
mov byte [ebp - 0x3c9], 0
mov edx, esp
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x10041a2e
mov eax, dword [edx]
jmp 0x10041a30
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x3d7], 0
jne 0x10041a40
xor ecx, ecx
jmp 0x10041a59
lea ecx, [ebp - 0x3d7]
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10041a50
sub ecx, esi
push ecx
lea eax, [ebp - 0x3d7]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [edi + 0xfc]
call fcn.10014550
movaps xmm0, xmmword [str._roycRnbckd]
add esp, 0x18
mov dword [edi + 0x100], eax
xor ecx, ecx
movups xmmword [ebp - 0x378], xmm0
mov word [ebp - 0x368], 0x79
nop word [eax + eax]
mov al, byte [ebp - 0x378]
xor byte [ebp + ecx - 0x377], al
inc ecx
cmp ecx, 0x10
jb 0x10041aa0
sub esp, 0x18
mov byte [ebp - 0x367], 0
mov edx, esp
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x10041ade
mov eax, dword [edx]
jmp 0x10041ae0
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x377], 0
jne 0x10041af0
xor ecx, ecx
jmp 0x10041b09
lea ecx, [ebp - 0x377]
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10041b00
sub ecx, esi
push ecx
lea eax, [ebp - 0x377]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [edi + 0xfc]
call fcn.10014550
movaps xmm0, xmmword [0x100af1f0]
add esp, 0x18
mov dword [edi + 0x104], eax
xor ecx, ecx
movups xmmword [ebp - 0x38c], xmm0
mov byte [ebp - 0x37c], 0
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp - 0x38c]
xor byte [ebp + ecx - 0x38b], al
inc ecx
cmp ecx, 0xf
jb 0x10041b50
sub esp, 0x18
mov byte [ebp - 0x37c], 0
mov edx, esp
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x10041b8e
mov eax, dword [edx]
jmp 0x10041b90
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x38b], 0
jne 0x10041ba0
xor ecx, ecx
jmp 0x10041bb9
lea ecx, [ebp - 0x38b]
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10041bb0
sub ecx, esi
push ecx
lea eax, [ebp - 0x38b]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [edi + 0xfc]
call fcn.10014550
mov dword [edi + 0x108], eax
add esp, 0x18
mov esi, dword [edi + 0xfc]
test esi, esi
je 0x10041bf8
push 4
push esi
call ebx
test eax, eax
jne 0x10041bf8
push eax
mov ecx, esi
call dword [0x100ad890]
mov byte [ebp - 0x124], 0x23
mov al, 0x41
xor al, byte [ebp - 0x124]
mov cl, 0x57
xor cl, byte [ebp - 0x124]
mov dl, 0x4d
mov byte [ebp - 0x123], al
mov dh, 0x42
mov byte [ebp - 0x122], cl
sub esp, 0x18
mov cl, byte [ebp - 0x124]
mov bl, 0x7c
mov byte [ebp - 0x79], 0x40
xor dl, cl
mov al, byte [ebp - 0x79]
xor dh, cl
xor al, cl
mov byte [ebp - 0x121], dl
mov byte [ebp - 0x11b], al
mov ah, 0x50
mov byte [ebp - 0x11d], dh
mov ch, 0x46
mov edx, esp
mov byte [ebp - 0x7a], 0x4b
mov al, byte [ebp - 0x7a]
mov bh, 0x51
mov byte [ebp - 0x119], 0
xor bl, cl
mov byte [ebp - 0x120], bl
xor ah, cl
mov byte [ebp - 0x11f], ah
xor ch, cl
mov byte [ebp - 0x11e], ch
xor bh, cl
mov byte [ebp - 0x11c], bh
xor al, cl
mov byte [ebp - 0x11a], al
mov byte [ebp - 0x119], 0
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x10041cad
mov eax, dword [edx]
jmp 0x10041caf
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x123], 0
jne 0x10041cbf
xor ecx, ecx
jmp 0x10041cd1
lea ecx, [ebp - 0x123]
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10041cc8
sub ecx, esi
push ecx
lea eax, [ebp - 0x123]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [edi + 0x5c]
call fcn.10014550
mov dword [edi + 0x60], eax
add esp, 0x18
mov cl, 0x72
mov dword [ebp - 0x16c], 0x1b161772
mov dword [ebp - 0x168], 0x17012d06
xor eax, eax
mov dword [ebp - 0x164], 0x1a110013
mov byte [ebp - 0x160], 0
nop word [eax + eax]
xor byte [ebp + eax - 0x16b], cl
inc eax
cmp eax, 0xb
jae 0x10041d35
mov cl, byte [ebp - 0x16c]
jmp 0x10041d20
sub esp, 0x18
mov byte [ebp - 0x160], 0
mov edx, esp
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x10041d60
mov eax, dword [edx]
jmp 0x10041d62
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x16b], 0
jne 0x10041d72
xor ecx, ecx
jmp 0x10041d89
lea ecx, [ebp - 0x16b]
lea esi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10041d80
sub ecx, esi
push ecx
lea eax, [ebp - 0x16b]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [edi + 0x5c]
call fcn.10014550
add esp, 0x18
mov dword [edi + 0x64], eax
xor esi, esi
mov dword [ebp - 0x88], 4
lea ebx, [edi + 0x68]
nop word [eax + eax]
movaps xmm0, xmmword [0x100afb50]
sub esp, 0x18
mov dword [ebp - 0x8c], esp
xor ecx, ecx
movups xmmword [ebp - 0x3a0], xmm0
mov byte [ebp - 0x390], 0
push esi
mov al, byte [ebp - 0x3a0]
xor byte [ebp + ecx - 0x39f], al
inc ecx
cmp ecx, 0xf
jb 0x10041de1
sub esp, 0x18
mov byte [ebp - 0x390], 0
mov edx, esp
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x10041e1f
mov eax, dword [edx]
jmp 0x10041e21
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x39f], 0
jne 0x10041e31
xor ecx, ecx
jmp 0x10041e4d
lea ecx, [ebp - 0x39f]
lea eax, [ecx + 1]
mov dword [ebp - 0x90], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10041e40
sub ecx, dword [ebp - 0x90]
push ecx
lea eax, [ebp - 0x39f]
mov ecx, edx
push eax
call fcn.10004a40
push dword [ebp - 0x8c]
call fcn.100043b0
mov ecx, dword [edi + 0x5c]
add esp, 0x20
call fcn.10014550
mov dword [ebx], eax
add esp, 0x18
inc esi
add ebx, 4
sub dword [ebp - 0x88], 1
jne 0x10041dc0
mov cl, 0x35
mov dword [ebp - 0x19c], 0x5b415735
mov dword [ebp - 0x198], 0x5650476a
xor eax, eax
mov dword [ebp - 0x194], 0x5247545d
mov word [ebp - 0x190], 0x50
xor byte [ebp + eax - 0x19b], cl
inc eax
cmp eax, 0xc
jae 0x10041ec8
mov cl, byte [ebp - 0x19c]
jmp 0x10041eb3
sub esp, 0x18
mov byte [ebp - 0x18f], 0
mov edx, esp
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x10041ef3
mov eax, dword [edx]
jmp 0x10041ef5
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x19b], 0
jne 0x10041f05
xor ecx, ecx
jmp 0x10041f19
lea ecx, [ebp - 0x19b]
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10041f10
sub ecx, esi
push ecx
lea eax, [ebp - 0x19b]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [edi + 0x5c]
call fcn.10014550
mov dword [edi + 0x78], eax
mov cl, 0x57
mov byte [ebp - 0x13c], 0x23
mov al, 0x41
xor al, byte [ebp - 0x13c]
mov dl, 0x4d
xor cl, byte [ebp - 0x13c]
mov dh, 0x45
mov byte [ebp - 0x13b], al
mov bl, 0x7c
mov byte [ebp - 0x13a], cl
mov ah, 0x51
mov cl, byte [ebp - 0x13c]
mov ch, 0x46
mov byte [ebp - 0x79], dl
xor dh, cl
mov al, byte [ebp - 0x79]
xor dl, cl
xor al, cl
mov byte [ebp - 0x139], dl
mov byte [ebp - 0x133], al
mov bh, 0x56
mov byte [ebp - 0x135], dh
xor bl, cl
mov edx, esp
mov byte [ebp - 0x7a], 0x47
mov al, byte [ebp - 0x7a]
xor ah, cl
mov byte [ebp - 0x131], 0
xor ch, cl
mov byte [ebp - 0x138], bl
xor bh, cl
mov byte [ebp - 0x137], ah
xor al, cl
mov byte [ebp - 0x136], ch
mov byte [ebp - 0x134], bh
mov byte [ebp - 0x132], al
mov byte [ebp - 0x131], 0
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x10041fe4
mov eax, dword [edx]
jmp 0x10041fe6
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x13b], 0
jne 0x10041ff6
xor ecx, ecx
jmp 0x10042009
lea ecx, [ebp - 0x13b]
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10042000
sub ecx, esi
push ecx
lea eax, [ebp - 0x13b]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [edi + 0x5c]
call fcn.10014550
mov dword [edi + 0x7c], eax
add esp, 0x18
mov cl, 0x67
mov dword [ebp - 0x17c], 0x8150067
mov dword [ebp - 0x178], 0xe381712
xor eax, eax
mov dword [ebp - 0x174], 0x140a0213
mov byte [ebp - 0x170], 0
nop
xor byte [ebp + eax - 0x17b], cl
inc eax
cmp eax, 0xb
jae 0x10042065
mov cl, byte [ebp - 0x17c]
jmp 0x10042050
sub esp, 0x18
mov byte [ebp - 0x170], 0
mov edx, esp
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x10042090
mov eax, dword [edx]
jmp 0x10042092
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x17b], 0
jne 0x100420a2
xor ecx, ecx
jmp 0x100420b9
lea ecx, [ebp - 0x17b]
lea esi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100420b0
sub ecx, esi
push ecx
lea eax, [ebp - 0x17b]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [edi + 0x5c]
call fcn.10014550
mov dword [ebp - 0x8c], eax
lea esi, [edi + 0x80]
lea eax, [edi + 0xc4]
mov dword [ebp - 0x88], 0xc
add esp, 0x18
mov dword [ebp - 0x84], eax
xor edi, edi
nop word [eax + eax]
sub esp, 0x18
mov byte [ebp - 0x23c], 0
mov bh, 0x28
mov dword [ebp - 0x90], esp
mov dl, 0x4d
mov byte [ebp - 0x244], bh
mov dh, 0x4c
mov byte [ebp - 0x23c], 0
xor dl, bh
xor dh, bh
mov byte [ebp - 0x241], dl
mov al, 0x61
mov byte [ebp - 0x23d], dh
mov cl, 0x5c
push edi
sub esp, 0x18
mov bl, 0x45
mov edx, esp
mov ah, 0x77
mov ch, 0xd
xor al, bh
mov byte [ebp - 0x243], al
xor cl, bh
mov byte [ebp - 0x242], cl
xor bl, bh
mov byte [ebp - 0x240], bl
xor ah, bh
mov byte [ebp - 0x23f], ah
xor ch, bh
mov byte [ebp - 0x23e], ch
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x1004218a
mov eax, dword [edx]
jmp 0x1004218c
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x243], 0
jne 0x1004219c
xor ecx, ecx
jmp 0x100421ae
lea ecx, [ebp - 0x243]
lea ebx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100421a5
sub ecx, ebx
push ecx
lea eax, [ebp - 0x243]
mov ecx, edx
push eax
call fcn.10004a40
push dword [ebp - 0x90]
call fcn.100043b0
mov ecx, dword [ebp - 0x8c]
add esp, 0x20
call fcn.10014550
mov dword [esi], eax
add esp, 0x18
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 4], 0
xorps xmm0, xmm0
mov dword [ebp - 0x50], 0
mov cl, 0x53
mov dword [ebp - 0x4c], 0
xor eax, eax
mov dword [ebp - 0x44], 0
movlpd qword [ebp - 0x38], xmm0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x20c], 0x272b2753
mov dword [ebp - 0x208], 0x36273a0c
mov dword [ebp - 0x204], 0x323d0c3e
mov word [ebp - 0x200], 0x363e
mov byte [ebp - 0x1fe], 0
xor byte [ebp + eax - 0x20b], cl
inc eax
cmp eax, 0xd
jae 0x10042285
mov cl, byte [ebp - 0x20c]
jmp 0x10042270
sub esp, 0x18
mov byte [ebp - 0x1fe], 0
mov edx, esp
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x100422b0
mov eax, dword [edx]
jmp 0x100422b2
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x20b], 0
jne 0x100422c2
xor ecx, ecx
jmp 0x100422d9
lea ecx, [ebp - 0x20b]
lea ebx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100422d0
sub ecx, ebx
push ecx
lea eax, [ebp - 0x20b]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [esi]
call fcn.10014550
mov dword [ebp - 0x30], eax
mov dh, 0x7b
mov byte [ebp - 0xac], 0x12
mov al, 0x66
mov dl, al
mov byte [ebp - 0x79], 0x77
xor al, byte [ebp - 0xac]
mov cl, 0x6a
mov byte [ebp - 0xab], al
mov bl, 0x4d
mov al, byte [ebp - 0xac]
mov ah, 0x62
xor dl, al
mov byte [ebp - 0xa2], 0
xor dh, al
mov byte [ebp - 0xa9], dl
mov byte [ebp - 0xa5], dh
xor cl, al
xor bl, al
mov byte [ebp - 0xaa], cl
xor ah, al
mov byte [ebp - 0xa8], bl
mov ch, 0x60
mov byte [ebp - 0xa7], ah
xor ch, al
mov byte [ebp - 0xa2], 0
mov bh, 0x71
mov byte [ebp - 0xa6], ch
xor bh, al
mov edx, esp
mov al, byte [ebp - 0x79]
xor al, byte [ebp - 0xac]
mov byte [ebp - 0xa4], bh
mov byte [ebp - 0xa3], al
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x10042395
mov eax, dword [edx]
jmp 0x10042397
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0xab], 0
jne 0x100423a7
xor ecx, ecx
jmp 0x100423b9
lea ecx, [ebp - 0xab]
lea ebx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100423b0
sub ecx, ebx
push ecx
lea eax, [ebp - 0xab]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [esi]
call fcn.10014550
add esp, 0x18
mov dword [ebp - 0x2c], eax
mov cl, 0x53
mov dword [ebp - 0x21c], 0x272b2753
mov dword [ebp - 0x218], 0x3226220c
xor eax, eax
mov dword [ebp - 0x214], 0x273a273d
mov word [ebp - 0x210], 0x2a3a
mov byte [ebp - 0x20e], 0
nop word [eax + eax]
xor byte [ebp + eax - 0x21b], cl
inc eax
cmp eax, 0xd
jae 0x10042425
mov cl, byte [ebp - 0x21c]
jmp 0x10042410
sub esp, 0x18
mov byte [ebp - 0x20e], 0
mov edx, esp
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x10042450
mov eax, dword [edx]
jmp 0x10042452
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x21b], 0
jne 0x10042462
xor ecx, ecx
jmp 0x10042479
lea ecx, [ebp - 0x21b]
lea ebx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10042470
sub ecx, ebx
push ecx
lea eax, [ebp - 0x21b]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [esi]
call fcn.10014550
add esp, 0x18
mov dword [ebp - 0x28], eax
mov cl, 0xf
mov dword [ebp - 0x18c], 0x617b6d0f
mov dword [ebp - 0x188], 0x7d7a7f50
xor eax, eax
mov dword [ebp - 0x184], 0x7c6e676c
mov word [ebp - 0x180], 0x6a
xor byte [ebp + eax - 0x18b], cl
inc eax
cmp eax, 0xc
jae 0x100424d5
mov cl, byte [ebp - 0x18c]
jmp 0x100424c0
sub esp, 0x18
mov byte [ebp - 0x17f], 0
mov edx, esp
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x10042500
mov eax, dword [edx]
jmp 0x10042502
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x18b], 0
jne 0x10042512
xor ecx, ecx
jmp 0x10042529
lea ecx, [ebp - 0x18b]
lea ebx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10042520
sub ecx, ebx
push ecx
lea eax, [ebp - 0x18b]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [esi]
call fcn.10014550
add esp, 0x18
mov dword [ebp - 0x24], eax
mov cl, 0x1b
mov dword [ebp - 0x1cc], 0x756f791b
mov dword [ebp - 0x1c8], 0x7f7f7a44
xor eax, eax
mov dword [ebp - 0x1c4], 0x697a7844
mov word [ebp - 0x1c0], 0x6f
xor byte [ebp + eax - 0x1cb], cl
inc eax
cmp eax, 0xc
jae 0x10042585
mov cl, byte [ebp - 0x1cc]
jmp 0x10042570
sub esp, 0x18
mov byte [ebp - 0x1bf], 0
mov edx, esp
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x100425b0
mov eax, dword [edx]
jmp 0x100425b2
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x1cb], 0
jne 0x100425c2
xor ecx, ecx
jmp 0x100425d9
lea ecx, [ebp - 0x1cb]
lea ebx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100425d0
sub ecx, ebx
push ecx
lea eax, [ebp - 0x1cb]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [esi]
call fcn.10014550
mov dword [ebp - 0x20], eax
mov dl, 0x2a
mov byte [ebp - 0xdc], 0x4d
mov al, 0x24
mov ah, al
mov byte [ebp - 0xd3], 0
xor al, byte [ebp - 0xdc]
mov dh, 0x22
mov byte [ebp - 0xdb], al
mov cl, 0x20
mov al, byte [ebp - 0xdc]
mov bl, 0x12
xor dl, al
mov byte [ebp - 0xd3], 0
mov byte [ebp - 0xd9], dl
xor dh, al
mov byte [ebp - 0xd5], dh
mov ch, 0x2e
mov edx, esp
mov bh, 0x23
xor cl, al
xor bl, al
mov byte [ebp - 0xda], cl
xor ah, al
mov byte [ebp - 0xd8], bl
xor ch, al
mov byte [ebp - 0xd7], ah
xor bh, al
mov byte [ebp - 0xd6], ch
mov byte [ebp - 0xd4], bh
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x10042682
mov eax, dword [edx]
jmp 0x10042684
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0xdb], 0
jne 0x10042694
xor ecx, ecx
jmp 0x100426a9
lea ecx, [ebp - 0xdb]
lea ebx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100426a0
sub ecx, ebx
push ecx
lea eax, [ebp - 0xdb]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [esi]
call fcn.10014550
add esp, 0x18
mov dword [ebp - 0x1c], eax
call fcn.10011bb0
mov ecx, dword [ebp - 0x18]
test eax, eax
cmovne ecx, eax
lea eax, [ebp - 0x50]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x84]
push eax
call fcn.1004b260
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x10042716
mov eax, dword [ebp - 0x40]
sub eax, ecx
sar eax, 2
push eax
push ecx
call fcn.10012b40
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
inc edi
add esi, 4
sub dword [ebp - 0x88], 1
jne 0x10042100
mov byte [ebp - 0x130], 0x18
mov cl, 0x6a
mov byte [ebp - 0x79], cl
mov al, 0x7f
xor al, byte [ebp - 0x130]
mov dl, 0x77
xor cl, byte [ebp - 0x130]
mov dh, 0x7b
mov byte [ebp - 0x12f], al
sub esp, 0x18
mov al, byte [ebp - 0x79]
mov bl, 0x6d
mov byte [ebp - 0x12e], cl
mov ah, 0x68
mov cl, byte [ebp - 0x130]
mov ch, 0x47
xor al, cl
mov byte [ebp - 0x7a], 0x6c
mov byte [ebp - 0x127], al
xor dl, cl
mov al, byte [ebp - 0x7a]
xor dh, cl
mov byte [ebp - 0x12d], dl
mov bh, 0x79
mov byte [ebp - 0x129], dh
xor bl, cl
mov edx, esp
mov byte [ebp - 0x125], 0
mov byte [ebp - 0x12c], bl
xor ah, cl
mov byte [ebp - 0x12b], ah
xor ch, cl
mov byte [ebp - 0x12a], ch
xor bh, cl
mov byte [ebp - 0x128], bh
xor al, cl
mov byte [ebp - 0x126], al
mov byte [ebp - 0x125], 0
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x100427db
mov eax, dword [edx]
jmp 0x100427dd
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x12f], 0
jne 0x100427ed
xor ecx, ecx
jmp 0x100427ff
lea ecx, [ebp - 0x12f]
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100427f6