Function at 0x10001d20
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x180
mov eax, 0x4b5
mov word [ebp - 0xc], ax
movsx ecx, word [ebp - 0xc]
cmp ecx, 0x139
jg 0x10001d4d
movzx edx, word [ebp - 0xc]
push edx
call fcn.10001c70
add esp, 4
jmp 0x10001d75
mov byte [ebp - 2], 0x6d
movsx eax, word [ebp - 0xc]
sub eax, 0x6d1
mov word [section..data], ax
mov dword [ebp - 0x24], 0x6449
mov dword [ebp - 0x94], 0x3a25
mov byte [ebp - 1], 3
mov dword [ebp - 0xd4], 0x5510
lea ecx, [ebp - 0x24]
mov dword [ebp - 8], ecx
mov edx, 0xf23
mov word [ebp - 0x38], dx
mov al, byte [ebp - 2]
mov byte [0x1000601c], al
mov cx, word [ebp - 0x38]
mov word [ebp - 0x30], cx
movsx edx, byte [ebp - 1]
cmp edx, 0x55
jge 0x10001def
mov eax, dword [ebp - 0x24]
and eax, 0x1f9
mov ecx, dword [ebp - 8]
cmp eax, dword [ecx]
jne 0x10001dd2
mov edx, dword [ebp - 8]
mov eax, dword [edx]
xor eax, 0x3c05
mov dword [ebp - 0x24], eax
movzx ecx, byte [0x1000601c]
sar ecx, 3
mov byte [ebp - 2], cl
jmp 0x10001ded
lea edx, [ebp - 0xc]
mov dword [ebp - 0x58], edx
mov al, byte [ebp - 2]
mov byte [ebp - 0xe], al
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x20], ecx
lea edx, [ebp - 0x94]
mov dword [ebp - 0x4c], edx
jmp 0x10001e5c
movsx eax, byte [ebp - 1]
imul ecx, eax, 0x7b
cmp ecx, 0x5d
jne 0x10001e5c
mov edx, dword [ebp - 0x150]
push edx
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov dword [ebp - 0x180], eax
movsx eax, word [ebp - 0xc]
movsx ecx, word [section..data]
shl eax, cl
mov ecx, dword [ebp - 0x58]
mov word [ecx], ax
movzx edx, word [ebp - 0xc]
push edx
call fcn.10001c70
add esp, 4
mov eax, dword [ebp - 0x58]
movsx ecx, word [eax]
movsx edx, word [ebp - 0xc]
add ecx, edx
mov word [section..data], cx
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
sub ecx, 0x5301
mov dword [ebp - 0x24], ecx
movzx edx, byte [ebp - 0xe]
push edx
call fcn.10001cb0
add esp, 4
lea eax, [ebp - 2]
mov dword [ebp - 0x50], eax
mov cx, word [ebp - 0x38]
mov word [ebp - 0x44], cx
mov edx, dword [ebp - 8]
mov eax, dword [edx]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xd0], 0x9278
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx]
mov dword [ebp - 0x90], edx
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0xcc], CheckMenuRadioItem
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
imul eax, dword [edx]
mov dword [ebp - 0x1c], eax
mov cx, word [ebp - 0x38]
mov word [ebp - 0x2c], cx
mov dword [ebp - 0xc8], 0x6e55
movzx edx, word [ebp - 0x44]
mov dword [ebp - 0x108], edx
cmp dword [ebp - 0x108], 0x63d
je 0x1000332d
cmp dword [ebp - 0x108], 0xf23
je 0x10001ee2
jmp 0x1000333a
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0xa0], eax
mov cl, byte [ebp - 0xe]
mov byte [ebp - 0xd], cl
mov edx, dword [ebp - 0x20]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x30]
cdq
idiv ecx
mov word [ebp - 0x2c], ax
cmp dword [ebp - 0xc8], 0x92fd
jae 0x10002185
mov edx, dword [ebp - 8]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x14]
sar eax, cl
mov dword [ebp - 0x24], eax
movsx edx, word [ebp - 0xc]
mov eax, dword [ebp - 0x58]
movsx ecx, word [eax]
shl edx, cl
mov word [section..data], dx
mov ecx, dword [ebp - 0x1c]
or ecx, dword [ebp - 0x24]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x24]
xor edx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x20]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x30]
and edx, eax
mov word [ebp - 0x44], dx
mov ecx, dword [ebp - 0x50]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 2]
add edx, eax
mov byte [ebp - 0xd], dl
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x94]
sub edx, dword [ecx]
mov dword [ebp - 0xa0], edx
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
add eax, dword [edx]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
and edx, dword [ebp - 0x14]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x50]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0xe]
sub ecx, edx
mov byte [0x1000601c], cl
movzx eax, word [ebp - 0x44]
movzx ecx, word [ebp - 0x2c]
add eax, ecx
mov word [ebp - 0x30], ax
mov edx, dword [ebp - 0x58]
movsx eax, word [edx]
movsx ecx, word [ebp - 0xc]
sub eax, ecx
mov edx, dword [ebp - 0x58]
mov word [edx], ax
movsx eax, byte [ebp - 1]
add eax, 0x43
mov byte [ebp - 1], al
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x14]
sar edx, cl
mov eax, dword [ebp - 8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x94]
shl edx, cl
mov eax, dword [ebp - 0x4c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x50]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0xe]
xor edx, eax
mov byte [ebp - 0xd], dl
movzx ecx, word [ebp - 0x2c]
movzx edx, word [ebp - 0x30]
or ecx, edx
mov eax, dword [ebp - 0x20]
mov word [eax], cx
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
and edx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], edx
movsx eax, word [ebp - 0xc]
mov ecx, dword [ebp - 0x58]
movsx edx, word [ecx]
sub eax, edx
mov word [section..data], ax
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x20]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x30]
add edx, eax
mov word [ebp - 0x44], dx
mov ecx, dword [ebp - 0x50]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0xe]
add edx, eax
mov byte [ebp - 2], dl
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0xa0]
and edx, dword [ecx]
mov dword [ebp - 0x90], edx
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x14]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0xc8]
add edx, 0x66
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
or ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 8]
mov dword [edx], ecx
movsx eax, word [section..data]
mov ecx, dword [ebp - 0x58]
movsx ecx, word [ecx]
sar eax, cl
mov word [ebp - 0xc], ax
movsx edx, byte [ebp - 1]
shl edx, 3
mov byte [ebp - 1], dl
movzx eax, word [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
movzx edx, word [ecx]
xor eax, edx
mov word [ebp - 0x30], ax
mov eax, dword [ebp - 0x50]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0xd]
and ecx, edx
mov byte [ebp - 0xe], cl
mov eax, dword [ebp - 0x94]
sub eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x4c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x24]
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x20]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x44]
sub ecx, edx
mov word [ebp - 0x38], cx
mov eax, dword [ebp - 0x50]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0xe]
add ecx, edx
mov byte [ebp - 0xd], cl
movsx eax, word [ebp - 0xc]
mov ecx, dword [ebp - 0x58]
movsx edx, word [ecx]
add eax, edx
mov word [section..data], ax
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x14]
and edx, dword [ebp - 0x24]
mov eax, dword [ebp - 8]
mov dword [eax], edx
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
mov dword [eax], edx
movzx ecx, word [ebp - 0x2c]
mov edx, dword [ebp - 0x20]
movzx eax, word [edx]
or ecx, eax
mov word [ebp - 0x44], cx
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0xa0]
shr edx, cl
mov eax, dword [ebp - 0x4c]
mov dword [eax], edx
jmp 0x10001f05
mov cl, byte [0x1000601c]
mov byte [ebp - 0x32], cl
mov edx, dword [ebp - 0x20]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x30]
xor eax, ecx
movzx edx, word [ebp - 0x2c]
movzx ecx, word [ebp - 0x38]
shl edx, cl
cmp eax, edx
jl 0x100021e9
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
and ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov dl, byte [ebp - 1]
mov byte [ebp - 0x25], dl
movsx eax, word [ebp - 0xc]
movsx ecx, word [section..data]
sub eax, ecx
mov word [0x10006004], ax
mov edx, dword [ebp - 0x58]
mov ax, word [edx]
mov word [ebp - 0x6c], ax
mov dword [ebp - 0x74], 0x1000601c
mov ecx, dword [ebp - 0x20]
mov dx, word [ecx]
mov word [ebp - 0x54], dx
jmp 0x10002237
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 8]
mov eax, dword [edx]
add eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4c]
mov eax, dword [edx]
sub eax, dword [ebp - 0x90]
mov dword [ebp - 0x94], eax
mov ecx, dword [ebp - 0x50]
movzx edx, byte [ecx]
push edx
call fcn.10001cb0
add esp, 4
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x24]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
add eax, dword [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x94]
mov eax, dword [ebp - 0xa0]
and eax, dword [ebp - 0x90]
cmp edx, eax
ja 0x1000229c
movzx edx, word [ebp - 0x30]
movzx ecx, word [ebp - 0x38]
sar edx, cl
mov word [0x10006008], dx
mov eax, dword [ebp - 0x20]
movzx eax, word [eax]
movzx ecx, word [ebp - 0x44]
cdq
idiv ecx
mov word [ebp - 0x2c], ax
lea edx, [ebp - 0xd]
mov dword [ebp - 0x88], edx
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x24]
mov ecx, dword [eax]
shl edx, cl
mov dword [ebp - 0x14], edx
lea eax, [ebp - 0x24]
mov dword [ebp - 0x3c], eax
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x5c], edx
lea eax, [ebp - 0x90]
mov dword [ebp - 0x84], eax
movzx ecx, word [ebp - 0x38]
mov edx, dword [ebp - 0x20]
movzx eax, word [edx]
xor ecx, eax
mov word [ebp - 0x2c], cx
mov cl, byte [ebp - 1]
mov byte [ebp - 0x31], cl
mov edx, dword [ebp - 0x24]
mov dword [0x10006020], edx
mov eax, dword [ebp - 0x58]
mov cx, word [eax]
mov word [ebp - 0x40], cx
mov edx, dword [ebp - 0x74]
mov al, byte [edx]
mov byte [ebp - 0x15], al
mov ecx, dword [ebp - 0x88]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 2]
or edx, eax
movzx ecx, byte [ebp - 0xd]
mov eax, dword [ebp - 0x50]
movzx eax, byte [eax]
add ecx, eax
cmp edx, ecx
jge 0x1000233b
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x60]
add edx, dword [eax]
mov dword [ebp - 0x1c], edx
mov ecx, dword [ebp - 0x12c]
push ecx
call dword [sym.imp.GDI32.dll_RemoveFontResourceW]
mov dword [ebp - 0x154], eax
mov edx, dword [ebp - 0x20]
movzx eax, word [edx]
movzx ecx, word [0x10006008]
sub eax, ecx
mov edx, dword [ebp - 0x20]
mov word [edx], ax
mov eax, dword [ebp - 0x14]
push eax
call fcn.10001c10
add esp, 4
jmp 0x100023b7
movsx ecx, word [ebp - 0x40]
movsx edx, word [ebp - 0xc]
sub ecx, edx
movsx eax, word [ebp - 0x6c]
movsx edx, word [section..data]
and eax, edx
cmp ecx, eax
jl 0x100023b7
mov eax, dword [ebp - 0x74]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 2]
add ecx, edx
mov byte [ebp - 0x15], cl
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
add ecx, dword [0x10006020]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x88]
mov al, byte [edx]
mov byte [ebp - 0x124], al
cmp byte [ebp - 0x124], 0x4b
je 0x1000238c
jmp 0x100023b7
movzx ecx, word [ebp - 0xc]
push ecx
call fcn.10001c70
add esp, 4
mov edx, dword [ebp - 0x84]
mov eax, dword [edx]
sub eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x4c]
mov dword [ecx], eax
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x5c]
sub eax, dword [edx]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
mov dword [ebp - 0x98], edx
movzx eax, byte [ebp - 0x15]
mov ecx, dword [ebp - 0x50]
movzx edx, byte [ecx]
add eax, edx
mov ecx, dword [ebp - 0x74]
mov byte [ecx], al
mov edx, dword [ebp - 0x20]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x54]
add eax, ecx
movzx edx, word [0x10006008]
movzx ecx, word [ebp - 0x2c]
or edx, ecx
cmp eax, edx
jle 0x1000331b
mov edx, dword [ebp - 0x3c]
mov eax, dword [edx]
mov dword [ebp - 0x70], eax
mov edx, dword [0x10006020]
mov ecx, dword [ebp - 0x98]
sar edx, cl
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax]
xor ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x98], ecx
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [edx]
and ecx, dword [eax]
mov edx, dword [ebp - 8]
mov eax, dword [edx]
sub eax, dword [ebp - 0x24]
cmp ecx, eax
jne 0x100032c6
mov ecx, dword [ebp - 0x58]
movsx edx, word [ecx]
mov dword [ebp - 0x10c], edx
cmp dword [ebp - 0x10c], 0x43
je 0x10002458
cmp dword [ebp - 0x10c], 0x387
je 0x1000247f
jmp 0x100024b4
movzx eax, word [0x10006008]
push eax
mov ecx, dword [ebp - 0x84]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x4c]
mov eax, dword [edx]
push eax
call fcn.10001cf0
add esp, 0x10
jmp 0x100024b4
movsx ecx, word [ebp - 0x6c]
movsx edx, word [ebp - 0xc]
sub ecx, edx
mov word [ebp - 0x40], cx
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x90]
mov edx, dword [ebp - 0x84]
mov dword [edx], ecx
mov eax, dword [ebp - 0x88]
movzx edx, byte [eax]
mov eax, dword [ebp - 0x74]
movzx ecx, byte [eax]
sar edx, cl
mov byte [ebp - 0xd], dl
mov cx, word [ebp - 0x30]
mov word [ebp - 0x7c], cx
mov edx, dword [ebp - 0x20]
movzx eax, word [edx]
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0x259
je 0x100024d6
jmp 0x10002548
movzx ecx, byte [ebp - 0x15]
mov edx, dword [ebp - 0x74]
movzx eax, byte [edx]
or ecx, eax
mov byte [ebp - 2], cl
lea ecx, [ebp - 0x12c]
push ecx
push 0xb0
mov edx, dword [ebp - 0x158]
push edx
mov eax, dword [ebp - 0x15c]
push eax
call dword [sym.imp.USER32.dll_GetMenuItemRect]
mov dword [ebp - 0x160], eax
mov ecx, dword [ebp - 0x20]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x7c]
xor edx, eax
mov ecx, dword [ebp - 0x20]
mov word [ecx], dx
mov edx, dword [ebp - 0x20]
movzx eax, word [edx]
push eax
mov ecx, dword [ebp - 0x84]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x98]
push eax
mov ecx, dword [ebp - 0x94]
push ecx
call fcn.10001cf0
add esp, 0x10
jmp 0x10003299
mov edx, dword [ebp - 0x14]
and edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x70]
cmp edx, ecx
jl 0x1000323a
mov edx, dword [ebp - 0x50]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 2]
sub eax, ecx
mov byte [ebp - 0x32], al
mov dx, word [ebp - 0x44]
mov word [ebp - 0x64], dx
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
add ecx, dword [0x10006020]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
xor edx, dword [ebp - 0x5c]
mov dword [ebp - 0x1c], edx
movsx eax, byte [ebp - 0x25]
movsx ecx, byte [ebp - 1]
or eax, ecx
mov byte [ebp - 0x31], al
mov edx, dword [ebp - 0x58]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x40]
shl eax, cl
mov word [ebp - 0xc], ax
mov ecx, dword [ebp - 0x58]
movsx edx, word [ecx]
movsx ecx, word [ebp - 0x40]
sar edx, cl
mov word [section..data], dx
movzx eax, byte [ebp - 0xe]
movzx ecx, byte [ebp - 0xd]
and eax, ecx
mov edx, dword [ebp - 0x74]
mov byte [edx], al
movzx eax, word [ebp - 0x7c]
movzx ecx, word [0x10006008]
add eax, ecx
mov word [ebp - 0x30], ax
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x14]
add eax, dword [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 8]
mov edx, dword [0x10006020]
sub edx, dword [ecx]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x88]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x32]
and eax, ecx
mov byte [ebp - 0xd], al
mov edx, dword [ebp - 0x20]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x7c]
add eax, ecx
mov word [ebp - 0x64], ax
movzx edx, byte [ebp - 0xd]
mov eax, dword [ebp - 0x50]
movzx ecx, byte [eax]
add edx, ecx
mov byte [0x1000601c], dl
mov edx, dword [ebp - 0x70]
sub edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x3c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x3c]
mov eax, dword [ecx]
mov ecx, dword [edx]
shl eax, cl
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ecx]
or edx, dword [ebp - 0x98]
mov dword [ebp - 0x1c], edx
movzx eax, byte [ebp - 0x32]
mov ecx, dword [ebp - 0x74]
movzx ecx, byte [ecx]
sar eax, cl
mov byte [ebp - 2], al
mov edx, dword [ebp - 0x20]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x64]
xor eax, ecx
mov word [ebp - 0x2c], ax
mov edx, dword [ebp - 0x58]
movsx eax, word [edx]
movsx ecx, word [0x10006004]
and eax, ecx
mov word [ebp - 0xc], ax
movsx edx, byte [ebp - 0x25]
movsx eax, byte [ebp - 0x31]
sub edx, eax
mov byte [ebp - 1], dl
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x60]
add edx, dword [eax]
mov ecx, dword [ebp - 0x3c]
mov dword [ecx], edx
mov edx, dword [ebp - 0x58]
movsx eax, word [edx]
movsx ecx, word [ebp - 0xc]
sub eax, ecx
mov word [0x10006004], ax
movzx edx, word [ebp - 0x54]
movzx eax, word [ebp - 0x38]
add edx, eax
mov word [ebp - 0x30], dx
movzx ecx, byte [ebp - 2]
movzx edx, byte [ebp - 0xd]
add ecx, edx
mov eax, dword [ebp - 0x50]
mov byte [eax], cl
mov ecx, dword [ebp - 0x24]
add ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x70], ecx
mov edx, dword [ebp - 0xcc]
add edx, 0xa8
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x1c]
and ecx, dword [eax]
mov edx, dword [ebp - 0x60]
mov dword [edx], ecx
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x3c]
mov eax, dword [edx]
or eax, dword [0x10006020]
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0xcc], 0x69d2
jne 0x10002575
movzx ecx, byte [ebp - 0x15]
mov edx, dword [ebp - 0x50]
movzx eax, byte [edx]
xor ecx, eax
mov byte [ebp - 0xe], cl
mov ecx, dword [ebp - 0x20]
movzx edx, word [ecx]
movzx ecx, word [ebp - 0x2c]
shl edx, cl
movzx eax, word [0x10006008]
movzx ecx, word [ebp - 0x54]
sar eax, cl
cmp edx, eax
jge 0x1000278a
mov ecx, dword [ebp - 0x20]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x64]
sub edx, eax
mov ecx, dword [ebp - 0x20]
mov word [ecx], dx
movzx edx, byte [ebp - 0x15]
movzx eax, byte [ebp - 0xe]
add edx, eax
mov byte [0x1000601c], dl
jmp 0x100027ee
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ecx]
mov dword [ebp - 0x78], edx
mov al, byte [ebp - 1]
mov byte [ebp - 0x110], al
cmp byte [ebp - 0x110], 0
je 0x100027af
cmp byte [ebp - 0x110], 0x53
je 0x100027e1
jmp 0x100027ee
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x78]
sub edx, dword [ecx]
mov dword [ebp - 0x70], edx
mov eax, dword [ebp - 0x5c]
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x98]
mov dword [ebp - 0xa4], ecx
movsx edx, word [ebp - 0xc]
mov eax, dword [ebp - 0x58]
movsx ecx, word [eax]
add edx, ecx
mov word [ebp - 0x40], dx
jmp 0x100027ee
movsx edx, byte [ebp - 0x25]
movsx eax, byte [ebp - 0x31]
add edx, eax
mov byte [ebp - 1], dl
mov cx, word [ebp - 0x64]
mov word [ebp - 0x80], cx
movzx edx, byte [ebp - 0x15]
movzx eax, byte [ebp - 0xd]
sub edx, eax
mov ecx, dword [ebp - 0x88]
mov byte [ecx], dl
lea edx, [ebp - 0x54]
mov dword [0x10006024], edx
cmp dword [ebp - 0xd0], 0x757c
jbe 0x100028f3
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x90]
and ecx, dword [eax]
mov dword [ebp - 0x94], ecx
mov edx, dword [ebp - 0x70]
or edx, dword [ebp - 0x14]
mov dword [ebp - 0x78], edx
mov eax, dword [ebp - 0xd0]
sub eax, 0x8c
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0x50]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x88]
movzx ecx, byte [eax]
shl edx, cl
mov ecx, dword [ebp - 0x74]
mov byte [ecx], dl
mov edx, dword [ebp - 0x20]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x2c]
sar eax, cl
mov ecx, dword [ebp - 0x20]
mov word [ecx], ax
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x1c]
xor eax, dword [edx]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x60]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x3c]
add edx, dword [eax]
mov ecx, dword [ebp - 0xa4]
mov dword [ecx], edx
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x5c]
add eax, dword [edx]
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ecx]
and edx, dword [ebp - 0x78]
mov eax, dword [ebp - 8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x20]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x30]
sub edx, eax
mov ecx, dword [0x10006024]
mov word [ecx], dx
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x90]
add eax, dword [edx]
mov dword [ebp - 0x94], eax
mov ecx, dword [ebp - 0x20]
movzx edx, word [ecx]
mov eax, dword [0x10006024]
movzx ecx, word [eax]
sub edx, ecx
mov eax, dword [ebp - 0x20]
mov word [eax], dx
jmp 0x10002811
mov ecx, dword [ebp - 0x60]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x24]
mov dword [ebp - 0x70], edx
mov eax, dword [ebp - 0x58]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x40]
sub ecx, edx
mov eax, dword [ebp - 0x58]
mov word [eax], cx
movsx ecx, byte [ebp - 0x25]
movsx edx, byte [ebp - 1]
add ecx, edx
mov byte [ebp - 0x31], cl
mov eax, dword [ebp - 0x50]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0xd]
add ecx, edx
mov byte [ebp - 0x15], cl
movzx eax, word [ebp - 0x2c]
mov ecx, dword [0x10006024]
movzx edx, word [ecx]
add eax, edx
mov ecx, dword [ebp - 0x20]
mov word [ecx], ax
mov edx, dword [ebp - 0x24]
or edx, dword [ebp - 0x70]
mov eax, dword [ebp - 8]
mov dword [eax], edx
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x1c]
sar edx, cl
mov dword [0x10006020], edx
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x84]
mov edx, dword [eax]
mov ecx, dword [ecx]
shl edx, cl
mov dword [ebp - 0x90], edx
mov eax, dword [ebp - 0x24]
xor eax, dword [ebp - 0x78]
mov dword [ebp - 0x70], eax
mov ecx, dword [ebp - 0xd4]
sub ecx, 0x77
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x24]
and eax, dword [edx]
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0x20]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x38]
sub edx, eax
mov word [ebp - 0x30], dx
mov ecx, dword [ebp - 0x50]
movzx edx, byte [ecx]
movzx eax, byte [0x1000601c]
add edx, eax
mov byte [ebp - 0x15], dl
mov ecx, dword [ebp - 0x60]
mov edx, dword [ecx]
and edx, dword [ebp - 0x24]
mov dword [ebp - 0x98], edx
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x3c]
add ecx, dword [edx]
mov eax, dword [ebp - 8]
mov dword [eax], ecx
cmp dword [ebp - 0xd4], 0x29d5
ja 0x100028fe
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xbc], 0x10006020
mov ecx, dword [ebp - 0x60]
mov edx, dword [ecx]
mov eax, dword [ebp - 0xa4]
add edx, dword [eax]
mov dword [ebp - 0x14], edx
mov ecx, dword [ebp - 0xa0]
sub ecx, dword [ebp - 0x90]
mov dword [0x1000600c], ecx
mov edx, dword [ebp - 0xd8]
or edx, 0x40000
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax]
mov dword [ebp - 0xdc], ecx
mov edx, dword [ebp - 0x20]
movzx eax, word [edx]
mov ecx, dword [0x10006024]
movzx edx, word [ecx]
sub eax, edx
mov word [ebp - 0x54], ax
mov eax, dword [ebp - 0x58]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x40]
sub ecx, edx
mov word [ebp - 0xc], cx
lea eax, [ebp - 0x25]
mov dword [ebp - 0xfc], eax
lea ecx, [ebp - 2]
mov dword [ebp - 0xc4], ecx
mov edx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x5c]
sar edx, cl
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0xc0], 0x1a357995
mov eax, dword [ebp - 0x88]
mov cl, byte [eax]
mov byte [ebp - 0x65], cl
mov edx, dword [ebp - 0x20]
movzx eax, word [edx]
mov ecx, dword [0x10006024]
movzx edx, word [ecx]
or eax, edx
mov word [ebp - 0x80], ax
lea eax, [ebp - 0x65]
mov dword [0x10006028], eax
mov ecx, dword [ebp - 0xc0]
sub ecx, 0x1a1ad959
mov dword [ebp - 0xc0], ecx
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [edx]
shl eax, cl
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 8]
mov ecx, dword [edx]
xor ecx, dword [eax]
mov edx, dword [ebp - 0xbc]
mov dword [edx], ecx
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x130], eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ecx]
mov dword [ebp - 0xac], edx
movzx eax, byte [ebp - 2]
mov ecx, dword [ebp - 0xc4]
movzx edx, byte [ecx]
and eax, edx
mov byte [ebp - 0x32], al
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x4268]
mov dword [ebp - 0x134], ecx
lea edx, [ebp - 0x54]
mov dword [ebp - 0x118], edx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0xac]
add ecx, dword [0x10006020]
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0x84]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4c]
add eax, dword [ecx]
mov dword [0x10006010], eax
mov edx, dword [ebp - 0x130]
push edx
mov eax, dword [ebp - 0xc0]
push eax
mov ecx, dword [ebp - 0xd8]
push ecx
call dword [ebp - 0x134]
mov dword [ebp - 0x100], eax
movzx edx, word [ebp - 0x64]
mov dword [ebp - 0x138], edx
cmp dword [ebp - 0x138], 0xffff
je 0x10002b97
jmp 0x100031f6
movsx eax, byte [ebp - 0x25]
movsx ecx, byte [ebp - 1]
sub eax, ecx
mov byte [ebp - 0x31], al
mov edx, dword [0x1000600c]
mov dword [ebp - 0x140], edx
lea eax, [ebp - 0x80]
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0x88]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x74]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0xe], dl
mov edx, dword [ebp - 0xfc]
mov al, byte [edx]
mov byte [0x1000601d], al
mov ecx, dword [ebp - 0x100]
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 0x84]
mov eax, dword [edx]
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x114], 0x4db9
je 0x10002c34
cmp dword [ebp - 0x114], 0x6921
je 0x10002c0e
jmp 0x10002c42
mov ecx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 8]
mov dword [edx], ecx
mov eax, dword [ebp - 0x50]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xc4]
movzx eax, byte [edx]
xor ecx, eax
mov edx, dword [ebp - 0x50]
mov byte [edx], cl
jmp 0x10002c42
movzx eax, word [ebp - 0x44]
movzx ecx, word [ebp - 0x2c]
shl eax, cl
mov word [ebp - 0x80], ax
mov dword [ebp - 0xb0], 0x79a6a9c5
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x104], ecx
mov edx, dword [ebp - 0x84]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x94]
shr eax, cl
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0xac]
or ecx, dword [ebp - 0x14]
mov dword [ebp - 0x70], ecx
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x9c], edx
mov eax, dword [ebp - 0x20]
movzx ecx, word [eax]
mov edx, dword [ebp - 0xf0]
movzx eax, word [edx]
and ecx, eax
mov word [ebp - 0x80], cx
lea ecx, [ebp - 0x1c]
mov dword [0x1000602c], ecx
mov dword [ebp - 0xf8], 0x13
mov edx, dword [ebp - 0x88]
mov al, byte [edx]
mov byte [ebp - 0x89], al
mov ecx, dword [ebp - 0x60]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x1c]
mov dword [ebp - 0x70], edx
mov eax, dword [ebp + 8]
add eax, 0x8fc0
mov dword [ebp - 0x120], eax
mov ecx, dword [ebp - 0xbc]
mov edx, dword [0x10006020]
add edx, dword [ecx]
mov dword [ebp - 0x9c], edx
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x164], eax
mov ecx, dword [ebp - 0x120]
mov dword [ebp - 0xe8], ecx
mov dl, byte [ebp - 0x25]
mov byte [ebp - 0xa5], dl
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0xdc]
sub ecx, dword [eax]
mov dword [ebp - 0xf4], ecx
lea edx, [ebp - 0x89]
mov dword [ebp - 0x11c], edx
movzx eax, word [ebp - 0x80]
mov ecx, dword [ebp - 0xf0]
movzx edx, word [ecx]
add eax, edx
mov word [ebp - 0x64], ax
mov dword [0x10006030], 0x10006020
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xe0], 0x4bb0a629
mov ecx, dword [ebp - 0xb4]
sub ecx, dword [ebp - 0x5c]
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebp - 8]
mov eax, dword [0x1000602c]
mov ecx, dword [edx]
and ecx, dword [eax]
mov dword [ebp - 0x9c], ecx
lea edx, [ebp - 0x2c]
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0xe0]
sub eax, 0x4baeb2a9
mov dword [ebp - 0xe0], eax
movzx ecx, byte [ebp - 2]
mov edx, dword [ebp - 0x88]
movzx eax, byte [edx]
add ecx, eax
mov byte [ebp - 0x89], cl
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x13c], ecx
mov edx, dword [ebp - 0x104]
mov eax, dword [0x10006020]
add eax, dword [edx]
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0xf8]
cmp ecx, dword [ebp - 0xe0]
jae 0x100030e8
mov edx, dword [ebp - 0x5c]
sub edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x3c]
mov dword [eax], edx
mov ecx, dword [ebp - 8]
mov edx, dword [0x1000602c]
mov eax, dword [ecx]
mov ecx, dword [edx]
shl eax, cl
mov dword [0x10006020], eax
mov ecx, dword [ebp - 0x118]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x20]
movzx ecx, word [eax]
sar edx, cl
mov ecx, dword [ebp - 0xe4]
mov word [ecx], dx
mov edx, dword [ebp - 0x50]
movzx eax, byte [edx]
mov ecx, dword [0x10006028]
movzx edx, byte [ecx]
or eax, edx
mov byte [ebp - 0x32], al
movsx eax, byte [ebp - 0xa5]
movsx ecx, byte [ebp - 1]
xor eax, ecx
mov byte [ebp - 0x31], al
movsx edx, word [ebp - 0x40]
movsx eax, word [ebp - 0xc]
and edx, eax
mov word [ebp - 0x6c], dx
mov ecx, dword [ebp - 0xe8]
mov dl, byte [ecx]
mov byte [ebp - 0x45], dl
mov eax, dword [ebp - 0xb8]
sub eax, dword [ebp - 0xac]
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0x84]
mov edx, dword [ecx]
add edx, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x4c]
mov dword [eax], edx
movzx ecx, word [ebp - 0x80]
mov edx, dword [ebp - 0xe4]
movzx eax, word [edx]
add ecx, eax
mov word [ebp - 0x2c], cx
mov ecx, dword [ebp - 0x74]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x50]
movzx ecx, byte [eax]
sub edx, ecx
mov eax, dword [ebp - 0xc4]
mov byte [eax], dl
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
sub eax, dword [edx]
mov dword [0x10006020], eax
mov dl, byte [ebp - 0x45]
mov cl, byte [ebp - 0xb0]
ror dl, cl
mov byte [ebp - 0x45], dl
mov eax, dword [0x10006020]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp - 0x60]
mov edx, dword [ecx]
and edx, dword [ebp - 0xb4]
mov dword [ebp - 0x14], edx
mov eax, dword [0x1000602c]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xa4]
mov dword [edx], ecx
movzx eax, byte [ebp - 0x45]
add eax, dword [ebp - 0xb0]
mov byte [ebp - 0x45], al
mov ecx, dword [ebp - 0x88]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x74]
movzx ecx, byte [eax]
sar edx, cl
mov byte [ebp - 0x32], dl
mov ecx, dword [ebp - 0xe4]
movzx edx, word [ecx]
movzx eax, word [0x10006008]
xor edx, eax
mov word [ebp - 0x30], dx
mov ecx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x4c]
mov eax, dword [ecx]
mov ecx, dword [edx]
shl eax, cl
mov ecx, dword [ebp - 0x84]
mov dword [ecx], eax
mov edx, dword [ebp - 0xb8]
or edx, dword [ebp - 0xb4]
mov dword [ebp - 0x78], edx
mov eax, dword [ebp - 0xec]
mov cl, byte [ebp - 0x45]
mov byte [eax], cl
mov edx, dword [0x1000602c]
mov eax, dword [edx]
add eax, dword [ebp - 0x78]
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp - 0x14]
and ecx, dword [ebp - 0xac]
mov edx, dword [0x10006030]
mov dword [edx], ecx
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [eax]
sub edx, dword [ecx]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xfc]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x25]
sub ecx, edx
mov byte [ebp - 0x31], cl
mov eax, dword [ebp - 0xe8]
add eax, 1
mov dword [ebp - 0xe8], eax
movsx ecx, word [ebp - 0x40]
movsx edx, word [ebp - 0xc]
add ecx, edx
mov word [ebp - 0x6c], cx
mov eax, dword [ebp - 0x74]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0xe]
sub ecx, edx
mov eax, dword [ebp - 0x74]
mov byte [eax], cl
mov ecx, dword [ebp - 0xec]
add ecx, 1
mov dword [ebp - 0xec], ecx
movzx edx, word [ebp - 0x44]
mov eax, dword [ebp - 0xf0]
movzx ecx, word [eax]
sub edx, ecx
mov word [ebp - 0x30], dx
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x140]
sub eax, dword [edx]
mov dword [ebp - 0xf4], eax
imul ecx, dword [ebp - 0xb0], 0x574b
mov dword [ebp - 0xb0], ecx
mov edx, dword [ebp - 0xac]
add edx, dword [ebp - 0xb4]
mov dword [ebp - 0x9c], edx
mov eax, dword [0x10006024]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x54]
and ecx, edx
mov eax, dword [ebp - 0x118]
mov word [eax], cx
movzx edx, byte [ebp - 0x65]
mov eax, dword [ebp - 0xc4]
movzx ecx, byte [eax]
shl edx, cl
mov ecx, dword [0x10006028]
mov byte [ecx], dl
mov edx, dword [ebp - 0x3c]
mov eax, dword [edx]
mov ecx, dword [0x10006020]
sar eax, cl
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp - 0xb0]
add ecx, 0x5445
mov dword [ebp - 0xb0], ecx
mov edx, dword [ebp - 0x5c]
xor edx, dword [ebp - 0x1c]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x9c]
or ecx, dword [eax]
mov edx, dword [ebp - 0xbc]
mov dword [edx], ecx
mov eax, dword [ebp - 0x104]
mov ecx, dword [eax]
add ecx, dword [ebp - 0xb8]
mov dword [ebp - 0x70], ecx
mov edx, dword [ebp - 0x11c]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x74]
movzx edx, byte [ecx]
add eax, edx
mov byte [ebp - 2], al
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax]
and ecx, dword [ebp - 0xa0]
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp - 0xf8]
add edx, 0x289
mov dword [ebp - 0xf8], edx
movzx eax, word [ebp - 0x38]
movzx ecx, word [ebp - 0x54]
add eax, ecx
mov edx, dword [ebp - 0x20]
mov word [edx], ax
mov eax, dword [ebp - 0x9c]
sub eax, dword [ebp - 0x70]
mov dword [ebp - 0x14], eax
jmp 0x10002dbd
movsx ecx, word [ebp - 0x40]
movsx edx, word [ebp - 0xc]
sub ecx, edx
mov word [0x10006014], cx
mov eax, dword [ebp - 0xfc]
movsx ecx, byte [eax]
movsx edx, byte [0x1000601d]
sub ecx, edx
mov byte [ebp - 1], cl
mov eax, dword [ebp - 0x100]
add eax, 0xc5
mov dword [ebp - 0x14c], eax
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x168], ecx
mov edx, dword [ebp - 0x11c]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x15]
sub eax, ecx
mov byte [ebp - 0x65], al
mov edx, dword [ebp - 0x120]
add edx, 0xc5
mov dword [ebp - 0x148], edx
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x16c], eax
mov ecx, dword [ebp - 0x60]
mov edx, dword [0x10006020]
add edx, dword [ecx]
mov dword [ebp - 0x14], edx
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x170], eax
mov ecx, dword [ebp - 0x14]
add ecx, dword [0x10006020]
mov edx, dword [ebp - 8]
mov dword [edx], ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x174], eax
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x144], ecx
movzx edx, word [ebp - 0x38]
movzx eax, word [ebp - 0x7c]
sub edx, eax
mov word [ebp - 0x64], dx
movzx ecx, byte [ebp - 0xe]
mov edx, dword [ebp - 0x88]
movzx eax, byte [edx]
xor ecx, eax
mov byte [0x10006002], cl
lea ecx, [ebp - 0x14c]
push ecx
call dword [ebp - 0x100]
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x178], edx
mov eax, dword [ebp - 0x104]
mov edx, dword [ebp - 0x5c]
mov ecx, dword [eax]
sar edx, cl
mov eax, dword [ebp - 8]
mov dword [eax], edx
mov edx, dword [ebp - 0x98]
mov ecx, dword [0x10006020]
shl edx, cl
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x17c], eax
jmp 0x1000321d
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ebp - 0x24]
add edx, dword [ecx]
mov eax, dword [ebp - 0x60]
mov dword [eax], edx
mov ecx, dword [ebp - 0x24]
and ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x70], ecx
movsx edx, word [ebp - 0x6c]
movsx eax, word [ebp - 0xc]
sub edx, eax
mov word [ebp - 0x40], dx
mov ecx, dword [ebp - 0xbc]
mov edx, dword [0x10006020]
sub edx, dword [ecx]
mov dword [ebp - 0x5c], edx
mov eax, 1
jmp 0x10003392
movzx eax, word [ebp - 0x2c]
movzx ecx, word [ebp - 0x30]
sub eax, ecx
movzx edx, word [ebp - 0x7c]
mov ecx, dword [ebp - 0x20]
movzx ecx, word [ecx]
add edx, ecx
cmp eax, edx
jl 0x1000326d
mov edx, dword [ebp - 8]
mov eax, dword [edx]
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
push edx
call fcn.10001c10
add esp, 4
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 8]
mov edx, dword [eax]
sub edx, dword [ecx]
mov dword [ebp - 0x14], edx
movzx eax, word [ebp - 0x7c]
movzx ecx, word [ebp - 0x38]
and eax, ecx
mov word [0x10006008], ax
mov edx, dword [ebp - 8]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x60]
add eax, dword [ecx]
mov edx, dword [ebp - 0x3c]
mov dword [edx], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x70]
shl eax, cl
mov dword [ebp - 0x1c], eax
movzx ecx, word [ebp - 0x44]
push ecx
mov edx, dword [ebp - 0x4c]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x5c]
push ecx
mov edx, dword [ebp - 0x84]
mov eax, dword [edx]
push eax
call fcn.10001cf0
add esp, 0x10
jmp 0x100032f1
mov ecx, dword [ebp - 0x58]
movsx edx, word [ecx]
movsx eax, word [ebp - 0xc]
add edx, eax
movsx ecx, word [ebp - 0x6c]
movsx eax, word [ebp - 0x40]
and ecx, eax
cmp edx, ecx
jle 0x100032f1
movzx ecx, word [ebp - 0x54]
movzx edx, word [ebp - 0x44]
add ecx, edx
mov word [0x10006008], cx
mov eax, dword [ebp - 0x88]
movzx ecx, byte [eax]
push ecx
call fcn.10001cb0
add esp, 4
mov edx, dword [ebp - 0x3c]
mov eax, dword [edx]
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x1c]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x3c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x20]
movzx edx, word [ecx]
movzx ecx, word [ebp - 0x54]
shl edx, cl
mov word [ebp - 0x30], dx
jmp 0x1000333a
movzx eax, word [ebp - 0xc]
push eax
call fcn.10001c70
add esp, 4
mov ecx, dword [ebp - 0x50]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 2]
and edx, eax
mov ecx, dword [ebp - 0x50]
mov byte [ecx], dl
mov edx, dword [ebp - 0x50]
movzx eax, byte [edx]
push eax
call fcn.10001cb0
add esp, 4
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x24]
sub edx, dword [ecx]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
mov dword [ecx], eax
movsx edx, word [section..data]
mov eax, dword [ebp - 0x58]
movsx ecx, word [eax]
sub edx, ecx
mov word [ebp - 0xc], dx
movsx edx, byte [ebp - 1]
add edx, 0x3b
mov byte [ebp - 1], dl
mov eax, 0xcd
mov esp, ebp
pop ebp
ret 0xc