Function at 0x1004b6d0
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x140
mov eax, dword [0x10063040]
xor eax, esp
mov dword [esp + 0x13c], eax
mov eax, dword [edx + 0x10]
mov dword [esp + 0xcc], eax
lea eax, [esp + 0x138]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x4c]
lea eax, [esp + 0x135]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x58]
lea eax, [ecx + 0x14]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ecx
mov eax, dword [esp + 0x60]
xorps xmm0, xmm0
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov eax, dword [esp + 0x5c]
mov dword [eax], 0xf
mov dword [esp + 0x110], edx
mov dword [esp + 0x10c], edx
lea eax, [edx + 0x14]
mov dword [esp + 0x114], eax
cmp dword [esp + 0xcc], 0
sete byte [esp + 0x46]
mov dword [esp + 0x48], ecx
lea eax, [ecx + 0x10]
mov dword [esp + 0xa8], eax
mov eax, 0xbbd4b7f5
mov ecx, 0xcc9113dc
mov dword [esp + 0x70], edx
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], edx
jmp 0x1004b7d0
mov eax, dword [esp + 0x50]
mov eax, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x5c]
mov eax, dword [eax]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x98]
cmp eax, dword [esp + 0xe8]
mov eax, 0xa216c1e1
mov ecx, 0x86079f20
cmovb eax, ecx
mov ecx, 0xf7fb35e2
nop word cs:[eax + eax]
nop dword [eax]
cmp ecx, 0x8e0e998
jg 0x1004b840
cmp ecx, 0xbfd4611b
jg 0x1004b8b0
cmp ecx, 0xa49df336
jle 0x1004b983
cmp ecx, 0xb55770e5
jg 0x1004bad7
cmp ecx, 0xab145af5
jle 0x1004bd3c
cmp ecx, 0xaf0498f8
jg 0x1004c9dd
cmp ecx, 0xab145af6
je 0x1004cc75
cmp ecx, 0xab214884
jne 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0xbbd4b7f5
mov ecx, 0xcd9624eb
mov edx, 0x5c1930ce
cmovl ecx, edx
jmp 0x1004b7d0
cmp ecx, 0x56c769fb
jg 0x1004b920
cmp ecx, 0x308f0187
jle 0x1004b9d2
cmp ecx, 0x39f6284f
jg 0x1004bb40
cmp ecx, 0x35bca5e2
jle 0x1004bd7b
cmp ecx, 0x36f90758
jg 0x1004ca10
cmp ecx, 0x35bca5e3
je 0x1004cd38
cmp ecx, 0x36106fdf
jne 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x86079f20
mov ecx, 0xc1b18766
mov edx, 0xb611104
cmovl ecx, edx
jmp 0x1004b7d0
cmp ecx, 0xda6b2b93
jle 0x1004ba29
cmp ecx, 0xeefaf299
jg 0x1004bb8b
cmp ecx, 0xe02bab12
jle 0x1004bdb2
cmp ecx, 0xeb13d52b
jg 0x1004ca43
cmp ecx, 0xe02bab13
je 0x1004cd53
cmp ecx, 0xe7371129
jne 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x3257eced
mov ecx, 0xee6fc77e
mov edx, 0xab145af6
cmove ecx, edx
jmp 0x1004b7d0
cmp ecx, 0x6f776648
jle 0x1004ba80
cmp ecx, 0x7964e021
jg 0x1004bbc5
cmp ecx, 0x7461578f
jle 0x1004c4af
cmp ecx, 0x764842b4
jg 0x1004ca65
cmp ecx, 0x74615790
je 0x1004cd70
cmp ecx, 0x753bfde6
jne 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x189980b8
mov ecx, 0xd4f64cb4
mov edx, 0x39f62850
cmovl ecx, edx
jmp 0x1004b7d0
cmp ecx, 0x977d9cb0
jle 0x1004bc10
cmp ecx, 0x9ba9f6e7
jle 0x1004c503
cmp ecx, 0x9fcc3bbf
jg 0x1004ca98
cmp ecx, 0x9ba9f6e8
je 0x1004cd8b
cmp ecx, 0x9fca53a4
jne 0x1004b7d0
movsx edx, byte [esp + 0x11]
mov ecx, dword [esp + 0x48]
call fcn.1004e8d0
jmp 0x1004e7bb
cmp ecx, 0x1a0264c4
jle 0x1004bc5b
cmp ecx, 0x1f6cfbbf
jle 0x1004c542
cmp ecx, 0x2c8787f4
jg 0x1004cacb
cmp ecx, 0x1f6cfbc0
je 0x1004cda6
cmp ecx, 0x2902962b
jne 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0xfe0d441e
mov ecx, 0xee6fc77e
mov edx, 0x796abc0e
cmove ecx, edx
jmp 0x1004b7d0
cmp ecx, 0xcc9113db
jle 0x1004bca6
cmp ecx, 0xcd9624ea
jle 0x1004c580
cmp ecx, 0xd5f28972
jg 0x1004caed
cmp ecx, 0xcd9624eb
je 0x1004cdc1
cmp ecx, 0xd4f64cb4
jne 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x189980b8
mov ecx, 0xee6fc77e
mov edx, 0x93a9c842
cmove ecx, edx
jmp 0x1004b7d0
cmp ecx, 0x607595c7
jle 0x1004bcf1
cmp ecx, 0x660fb278
jle 0x1004c5bf
cmp ecx, 0x6bb14518
jg 0x1004cb20
cmp ecx, 0x660fb279
je 0x1004cddc
cmp ecx, 0x6665fd00
jne 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0xc3ec2e90
mov ecx, 0xee6fc77e
mov edx, 0xeb13d52c
cmove ecx, edx
jmp 0x1004b7d0
cmp ecx, 0xba22fa9a
jle 0x1004c5fe
cmp ecx, 0xbe49fee3
jg 0x1004cb53
cmp ecx, 0xba22fa9b
je 0x1004cf02
cmp ecx, 0xbd85b01d
jne 0x1004b7d0
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xf8]
lea ecx, [esp + 0x138]
add eax, ecx
mov dword [esp + 0xfc], eax
cmp byte [esp + 0x47], 0
mov eax, 0x31175c75
mov ecx, 0x8a77cdbf
jmp 0x1004d6f2
cmp ecx, 0x459adffe
jle 0x1004c63d
cmp ecx, 0x54707de4
jg 0x1004cb86
cmp ecx, 0x459adfff
je 0x1004cf1d
cmp ecx, 0x4b078067
jne 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0xab901a5c
mov ecx, 0xee6fc77e
mov edx, 0x8e0e999
cmove ecx, edx
jmp 0x1004b7d0
cmp ecx, 0xf798265f
jle 0x1004c67d
cmp ecx, 0xfa525670
jg 0x1004cbfa
cmp ecx, 0xf7982660
je 0x1004cf38
cmp ecx, 0xf7fb35e2
jne 0x1004b7d0
mov ecx, 0xcc9113dc
jmp 0x1004b7d0
cmp ecx, 0x7dcfbf4e
jle 0x1004c73c
cmp ecx, 0x7f672d34
jle 0x1004cc4e
cmp ecx, 0x7f672d35
je 0x1004cf82
cmp ecx, 0x7fa26676
jne 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0xc85c73b
mov ecx, 0xee6fc77e
mov edx, 0x2c8787f5
cmove ecx, edx
jmp 0x1004b7d0
cmp ecx, 0x89c3065b
jg 0x1004c807
cmp ecx, 0x83d6c7ed
je 0x1004cf9d
cmp ecx, 0x83f386a8
je 0x1004cfb8
cmp ecx, 0x85835b91
jne 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0xfe0d441e
mov ecx, 0x2902962b
mov edx, 0x1f6cfbc0
cmovl ecx, edx
jmp 0x1004b7d0
cmp ecx, 0xb611103
jg 0x1004c86c
cmp ecx, 0x8e0e999
je 0x1004d126
cmp ecx, 0xa27826e
je 0x1004d692
cmp ecx, 0xb398779
jne 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x769628f7
mov ecx, 0xee6fc77e
mov edx, 0xe02bab13
cmove ecx, edx
jmp 0x1004b7d0
cmp ecx, 0xc65dd042
jg 0x1004c8ab
cmp ecx, 0xbfd4611c
je 0x1004d6ad
cmp ecx, 0xc1b18766
je 0x1004d6c8
cmp ecx, 0xc2ce1e24
jne 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x708c6f08
mov ecx, 0xee6fc77e
mov edx, 0xbd85b01d
cmove ecx, edx
jmp 0x1004b7d0
cmp ecx, 0x5b556faf
jg 0x1004c99e
cmp ecx, 0x56c769fc
je 0x1004d6e3
cmp ecx, 0x571dc1e5
je 0x1004d6ff
cmp ecx, 0x5acaa8cf
jne 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x93e2a3de
mov ecx, 0x83d6c7ed
mov edx, 0x370232a0
cmovl ecx, edx
jmp 0x1004b7d0
cmp ecx, 0xa49df337
je 0x1004d757
cmp ecx, 0xa76d019b
je 0x1004dba7
cmp ecx, 0xa7e6738c
jne 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x3257eced
mov ecx, 0xe7371129
mov edx, 0xbfd4611c
cmovl ecx, edx
jmp 0x1004b7d0
cmp ecx, 0x308f0188
je 0x1004dbc2
cmp ecx, 0x3207cfe6
je 0x1004dbdd
cmp ecx, 0x35064abb
jne 0x1004b7d0
movsx edx, byte [esp + 0x12]
mov ecx, dword [esp + 0x48]
call fcn.1004e8d0
jmp 0x1004e7e3
cmp ecx, 0xda6b2b94
je 0x1004dbf8
cmp ecx, 0xdb046161
je 0x1004dc12
cmp ecx, 0xdb116283
jne 0x1004b7d0
movzx eax, byte [esp + 0x26]
shl al, 2
movzx edx, byte [esp + 0x30]
mov ecx, edx
mov bh, dl
mov byte [esp + 0x30], dl
shr cl, 4
mov edx, ecx
and dl, 3
add dl, 0xbe
mov ah, dl
xor ah, 0xbe
mov bl, dl
xor bl, 0x41
add bl, ah
add bl, dl
mov dh, cl
or dh, 3
mov ch, dh
neg ch
mov ah, cl
sub ah, bl
add ah, 0xbd
mov dl, dh
add dl, 0xff
and dl, ah
add dl, ah
add dh, dh
sub dl, dh
or ah, ch
or cl, 0xfc
add cl, ah
mov ah, cl
sub ah, dl
add ah, ah
sub dl, cl
add dl, ah
movzx ecx, dl
imul ecx, ecx, 0x59
mov edx, ecx
add dl, 0x59
mov ah, dl
and ah, 0xc
add ah, dl
mov dh, dl
or dh, 0xf3
add dh, ah
xor dl, 0xc
add dl, dh
sub dl, cl
movzx edx, dl
lea ecx, [edx + edx*2]
shl ecx, 3
sub ecx, edx
add cl, 0x17
mov edx, eax
not dl
mov ah, cl
and ah, dl
add ah, dl
mov dh, cl
xor dh, dl
add dh, ah
or dl, cl
sub dh, dl
or cl, al
add cl, dh
mov eax, ecx
not al
add al, al
add al, cl
mov byte [esp + 0x45], al
mov al, bh
shl al, 4
mov byte [esp + 0x14], al
movzx eax, byte [esp + 0x18]
mov ecx, eax
mov dh, al
mov byte [esp + 0x18], al
shr cl, 2
mov eax, ecx
add al, cl
mov dl, al
and dl, 0x1e
mov ah, dl
neg ah
mov ch, al
neg ch
and ah, ch
sub ah, dl
add dl, 0xff
and dl, ch
add dl, ah
mov ch, dh
and ch, 0xfc
add ch, dl
mov dl, ch
not dl
mov ah, cl
not ah
mov dh, dl
and dh, 0xcb
add dh, ch
and dl, 0x34
add dl, dh
add dl, ch
mov ch, dl
add ch, ah
sub dl, cl
mov dh, ah
and dh, 0xf
mov ebx, ecx
xor bl, 0xf
mov bh, ah
or bh, 0xf
add bh, bl
mov bl, al
xor bl, 0xe0
add bl, bh
or ah, 0xf0
add ah, bl
add ah, cl
add ah, 3
mov bl, dh
or bl, ah
add bl, bl
not ah
or ah, dh
add ah, bl
mov dh, cl
or dh, 0xf0
add dh, ah
mov bl, 0xfd
sub bl, dh
mov ah, dh
add ah, 2
mov dh, dl
and dh, 0x7d
add dh, dh
mov bh, dl
sub bh, dh
mov dh, dl
xor dh, 2
add dh, bh
or dl, 0xfd
add dl, dh
mov dh, 0xfe
sub dh, ch
or dh, 2
sub dl, dh
add dl, 0xfe
and bl, dl
add bl, dl
mov ch, dl
not ch
and ch, ah
add ch, ch
add ch, bl
add ch, ah
mov dh, dl
or dh, ah
sub ch, dh
xor ah, dl
not ah
add ah, ch
add ah, dl
mov edx, ecx
and dl, 0xf
mov ch, dl
not ch
add ch, ch
add ch, dl
mov dl, ch
add dl, 1
mov dh, dl
and dh, 0xe5
mov bl, 0xfe
sub bl, ch
not ch
add ch, dh
and bl, 0xe5
sub ch, bl
or dl, 0xe5
add dl, ch
and al, 0x14
and cl, 0xa
xor cl, 0x1a
add cl, al
add cl, 0xe6
mov al, dl
xor al, cl
mov ch, al
sub ch, dl
or cl, dl
add cl, ch
not al
add al, cl
add al, dl
add al, al
add al, 2
xor al, 0xcb
add al, ah
mov ah, 0xfb
sub ah, al
mov bh, byte [esp + 0x14]
mov ch, bh
or ch, 1
mov byte [esp + 0x1c], ch
mov cl, byte [esp + 0x30]
shl cl, 5
sub ch, cl
add ch, 0xfe
mov dl, ah
and dl, ch
mov bl, dl
mov byte [esp + 0x43], dl
mov dl, ah
xor dl, ch
mov byte [esp + 0x44], dl
movzx edx, dl
lea edx, [edx + edx*2]
neg edx
add dl, bl
or ch, ah
mov byte [esp + 0x42], ch
add ch, ch
add ch, dl
mov byte [esp + 0x41], ch
mov ch, bh
not ch
movzx edi, ch
lea edx, [edi + edi*2]
add dl, cl
add al, 4
mov bl, ah
mov cl, bh
and bl, bh
mov byte [esp + 7], bl
add bl, bh
mov byte [esp + 0x3b], bl
mov bl, ah
or bl, bh
mov byte [esp + 0x3a], bl
mov bl, ah
xor bl, bh
mov byte [esp + 6], bl
mov byte [esp + 0xa], bh
mov byte [esp + 0x3c], bh
mov byte [esp + 0x3d], bh
and cl, al
mov byte [esp + 0x14], cl
or dl, 2
mov ebx, eax
and al, dl
mov cl, ah
or cl, dl
add cl, al
mov al, ah
or al, ch
mov byte [esp + 0x25], al
add bl, ch
mov byte [esp + 0x39], bl
and ch, ah
sub ch, ah
mov byte [esp + 0x3f], ch
and ah, dl
sub dl, cl
add dl, 1
mov al, ah
not al
add al, dl
mov byte [esp + 0x40], al
sub ah, dl
mov byte [esp + 0x3e], ah
movzx eax, byte [esp + 0x18]
mov ch, al
shl ch, 6
shl al, 7
mov cl, ch
xor cl, 0xc1
add cl, al
mov al, ch
and al, 0x80
mov ah, ch
xor ah, 0x4c
add ah, al
mov dl, ch
xor dl, 0xb3
add dl, ah
add dl, ch
mov al, ch
or al, 0x66
add al, 0x4d
add dl, 1
or dl, al
mov eax, dword [esp + 0xac]
add cl, al
add cl, 0x3f
xor dl, al
mov esi, eax
mov ah, dl
xor ah, 0xb3
xor dl, 0x4c
and dl, cl
mov al, cl
or al, ah
add al, dl
xor cl, ah
add cl, ah
sub al, cl
mov ah, ch
mov bl, ch
mov ecx, esi
xor bl, cl
mov edx, ebx
mov byte [esp + 9], bl
not dl
add dl, ah
mov dh, ah
mov byte [esp + 0x24], ah
mov ah, cl
not ah
mov byte [esp + 0x20], ah
mov cl, dh
or cl, ah
sub dl, cl
mov ecx, eax
not cl
mov ah, al
xor ah, 0x9c
add ah, al
and cl, 0x63
add cl, ah
and al, 0x9c
add al, cl
or dl, bl
add al, 0x65
mov ecx, eax
add cl, dl
mov ah, al
or ah, dl
add cl, ah
not ah
add ah, ah
add ah, cl
mov ecx, eax
xor cl, dl
add cl, ah
and al, dl
add al, cl
add al, 2
mov ecx, eax
xor cl, 0x9c
movzx ecx, cl
lea ecx, [ecx + ecx*2]
neg ecx
add cl, al
mov dh, al
add al, al
mov dl, al
or dl, 0x38
add dl, cl
movzx ecx, byte [esp + 0x24]
mov ebx, esi
and cl, bl
mov edi, esi
movzx ecx, cl
imul ecx, ecx, 0xffffff83
or cl, 0x28
movzx ecx, cl
not dh
mov ah, dh
and ah, 0x63
add ah, dl
xor al, 0x38
add al, ah
or dh, 0x63
add dh, al
imul eax, ecx, 0x2b
add al, 0x48
or al, byte [esp + 9]
mov ecx, eax
not cl
mov dl, cl
and dl, 0x18
add dl, al
or cl, 0x18
add cl, dl
mov dl, al
or dl, 0xe7
sub cl, dl
add cl, 0xe8
and al, 0xe7
mov dl, cl
xor dl, al
add dl, al
not al
or al, cl
add al, dl
add dh, 0x9e
mov dl, dh
add dl, dh
mov cl, dh
or cl, 0x58
sub dl, cl
add dl, 1
and dh, 0x58
mov cl, dh
not cl
add cl, dl
mov byte [esp + 9], cl
sub dh, dl
add al, 1
mov dl, al
xor dl, 0xe7
mov byte [esp + 0x38], dl
xor al, 0x18
and al, cl
add al, al
and dh, dl
add dh, al
mov byte [esp + 0x37], dh
movzx ecx, byte [esp + 0x24]
mov eax, ecx
not al
movzx eax, al
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
or al, 8
movzx eax, al
movzx ebx, byte [esp + 0xa]
xor bl, 0xbd
mov edx, ebx
add dl, bl
add dl, byte [esp + 0x1c]
lea esi, [eax + eax*4]
lea eax, [eax + esi*8]
mov bh, al
mov ebp, eax
add bh, 0xb8
mov byte [esp + 0x1c], bh
mov byte [esp + 0xa], bh
movzx eax, byte [esp + 0x20]
or bh, al
and al, cl
mov byte [esp + 0x20], al
movzx eax, byte [esp + 0x45]
mov ch, al
add ch, al
mov dh, ch
sub dh, al
not al
add al, ch
mov ch, 0x93
sub ch, al
add al, 0x6c
mov ah, al
and ah, 0x14
add ah, ah
sub dh, ah
or al, 0x6b
add al, dh
or ch, 0x6b
sub al, ch
mov ah, al
add ah, 0x52
mov ch, ah
xor ch, 0xe8
add ch, al
xor ah, 0x17
add ah, ch
mov esi, dword [esp + 0xd4]
mov ecx, edi
mov byte [esi], cl
add ah, 0x95
mov byte [esp + 0x11], ah
movzx eax, byte [esp + 0x42]
not al
add al, byte [esp + 0x41]
movzx ecx, byte [esp + 0x44]
add cl, cl
add cl, al
movzx eax, byte [esp + 0x43]
sub al, cl
movzx ecx, byte [esp + 0x3b]
sub cl, byte [esp + 0x3a]
add cl, byte [esp + 6]
add cl, byte [esp + 0x25]
add cl, 1
mov ah, byte [esp + 0x39]
add ah, byte [esp + 7]
mov dh, ah
add dh, 1
add ah, cl
and dh, cl
sub dh, ah
add al, 0xfe
add dh, 0xfe
mov ah, dh
sub ah, al
mov ch, al
xor ch, dh
not ch
add ch, ah
add ch, dh
mov ah, al
not ah
or ah, dh
sub ch, ah
and dh, al
or bl, 0x42
movzx eax, byte [esp + 0x3c]
or al, 0xbd
add al, bl
sub dl, al
mov bl, byte [esp + 0x3d]
xor bl, 0x42
add bl, dl
add ch, 1
mov dl, dh
not dl
add dl, ch
mov ah, bl
not ah
mov al, dl
and al, ah
add al, al
mov cl, dl
sub cl, al
add cl, bl
or dl, bl
add dl, cl
add dl, ah
sub dh, ch
or dh, bl
sub dh, dl
mov ah, byte [esp + 0x14]
add ah, byte [esp + 0x3f]
add ah, byte [esp + 6]
add ah, byte [esp + 0x25]
movzx ecx, byte [esp + 7]
add ah, cl
add ah, 1
mov al, cl
and al, ah
or ah, cl
mov cl, ah
add cl, al
add cl, cl
mov dl, al
not dl
add dl, cl
sub dl, al
not ah
add ah, dl
add ah, dh
add ah, 0x2b
mov al, byte [esp + 0x3e]
and al, ah
movzx ecx, byte [esp + 0x40]
add al, cl
mov edx, eax
mov al, ah
xor al, cl
mov ch, cl
mov cl, al
add cl, al
add cl, dl
not al
add al, al
add al, cl
and ah, ch
add ah, al
mov dh, ah
add dh, 2
mov al, 0xfd
sub al, ah
and al, 0xd7
add al, dh
not dh
and dh, 0x28
add dh, al
add dh, ah
movzx ecx, byte [esp + 0x38]
mov dl, byte [esp + 0x37]
add dl, cl
mov ch, byte [esp + 9]
mov al, ch
xor al, cl
not al
add al, dl
and ch, cl
add ch, al
add ch, 1
mov eax, edi
mov bl, byte [esp + 0x1c]
and bl, al
mov byte [esp + 0x1c], bl
mov eax, ebp
sub bl, al
mov cl, ch
and cl, 0xa7
add cl, ch
mov dl, ch
or dl, 0x58
add dl, cl
mov cl, ch
xor cl, 0xa7
add cl, dl
not ch
add ch, cl
mov ah, ch
mov ecx, edi
mov al, byte [esp + 0xa]
xor al, cl
add al, bl
add bh, al
add bh, byte [esp + 0x1c]
add bh, 0x49
mov al, bh
mov ch, byte [esp + 0x20]
or al, ch
mov cl, bh
not cl
or cl, ch
add cl, al
mov al, bh
xor al, ch
sub al, ch
add al, cl
mov dl, 0xa5
sub dl, ah
mov cl, ah
add cl, 0x5a
and ch, bh
add ch, al
mov eax, edx
and al, 0x2e
add al, al
mov ah, cl
sub ah, al
xor cl, 0xae
add cl, ah
add ch, 2
add cl, dl
add cl, 1
mov eax, ecx
and al, ch
add al, cl
not cl
and cl, ch
add cl, al
mov eax, ecx
add al, cl
not cl
add cl, al
movzx eax, cl
imul eax, eax, 0xffffffc7
add al, 9
mov ecx, eax
or cl, 0x46
or al, 0xb9
add al, cl
add al, 0x46
not al
movzx eax, al
lea eax, [eax + eax*8]
neg eax
mov ecx, eax
xor cl, 0x8a
sub cl, al
xor al, 0x75
add al, cl
add al, 0x77
mov byte [esp + 0x13], al
mov al, 0xa4
sub al, dh
add dh, 0x5b
mov cl, dh
and cl, 0x18
add cl, dh
and al, 0xe7
add al, cl
xor dh, 0x18
add dh, al
mov al, 0x17
sub al, dh
add dh, 0xe8
and al, 0x68
or dh, 0x68
sub dh, al
add dh, 0x98
mov byte [esp + 0x12], dh
mov eax, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x5c]
mov eax, dword [eax]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x94]
cmp eax, dword [esp + 0xe4]
mov eax, 0x93e2a3de
mov ecx, 0x3257eced
jmp 0x1004b7bb
cmp ecx, 0x6f776649
je 0x1004dc2d
cmp ecx, 0x739a4edb
je 0x1004dc48
cmp ecx, 0x73b9cf88
jne 0x1004b7d0
mov eax, dword [esp + 0xa4]
movzx eax, byte [esp + eax + 0x135]
mov byte [esp + 0x2a], al
mov eax, 0x214f52d0
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0xc8], ecx
mov ecx, 0xf7fb35e2
jmp 0x1004b7d0
cmp ecx, 0x977d9cb1
je 0x1004dc63
cmp ecx, 0x988d1528
je 0x1004dc7e
cmp ecx, 0x98aea3fb
jne 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x34d84930
mov ecx, 0xd8caef73
mov edx, 0xb8c5f46b
cmovl ecx, edx
jmp 0x1004b7d0
cmp ecx, 0x1a0264c5
je 0x1004dc91
cmp ecx, 0x1c82a85c
je 0x1004b781
cmp ecx, 0x1d2c11a2
jne 0x1004b7d0
mov ecx, 0xf7fb35e2
mov dword [esp + 0xac], 0xffffffff
mov eax, 0xdaab20fe
jmp 0x1004d675
cmp ecx, 0xcc9113dc
je 0x1004dcac
cmp ecx, 0xcd11d528
je 0x1004dcb9
cmp ecx, 0xcd346a37
jne 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x5e1522b0
mov ecx, 0xee6fc77e
mov edx, 0x627c309f
cmove ecx, edx
jmp 0x1004b7d0
cmp ecx, 0x607595c8
je 0x1004dcd4
cmp ecx, 0x627c309f
je 0x1004df4c
cmp ecx, 0x64fa6dee
jne 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0xc3ec2e90
mov ecx, 0x6665fd00
mov edx, 0x90c0073f
cmovl ecx, edx
jmp 0x1004b7d0
cmp ecx, 0xb55770e6
je 0x1004e169
cmp ecx, 0xb7f2d907
je 0x1004e184
cmp ecx, 0xb8c5f46b
jne 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x31175c75
mov ecx, 0xa7e6738c
mov edx, 0xc7ef80fe
cmovl ecx, edx
jmp 0x1004b7d0
cmp ecx, 0x39f62850
je 0x1004e19f
cmp ecx, 0x3f65db2c
je 0x1004e1ba
cmp ecx, 0x401a6dbe
jne 0x1004b7d0
cmp dword [esp + 0x6c], 0
mov eax, 0x819e1fcf
mov ecx, 0x4a57e6dd
cmovg eax, ecx
mov ecx, 0xf7fb35e2
jmp 0x1004b7d0
cmp ecx, 0xeefaf29a
je 0x1004e1d5
cmp ecx, 0xf427658d
je 0x1004e1f0
cmp ecx, 0xf7724e15
jne 0x1004b7d0
movzx eax, byte [esp + 8]
push eax
call fcn.10052a20
add esp, 4
mov esi, eax
movzx ecx, byte [esp + 8]
mov edx, ecx
not dl
movzx eax, dl
imul eax, eax, 0xffffff89
xor al, 0x80
movzx edi, al
imul eax, edi, 0xffffffb9
and al, 0xfb
imul ebx, edi, 0x72
or bl, 8
mov ch, al
add ch, al
sub bl, ch
sub bl, al
mov eax, ecx
add al, cl
or al, 0xf6
add al, bl
mov ch, cl
or ch, 0xfb
sub ch, al
add dl, dl
and dl, 8
and cl, 4
or cl, dl
add cl, 0xfc
mov edx, ecx
not dl
add dl, dl
add dl, cl
mov eax, edx
or al, 1
mov cl, dl
add cl, dl
xor cl, 0xfc
add cl, al
add cl, al
add cl, dl
add cl, ch
mov al, 0x59
sub al, cl
mov ecx, eax
and cl, 0x38
add cl, al
mov edx, eax
xor dl, 0x38
add dl, cl
or al, 0x38
sub dl, al
test esi, esi
mov eax, 0x189980b8
mov ecx, 0xb6c8b74c
cmovne eax, ecx
cmp dl, 0x14
jmp 0x1004e864
cmp ecx, 0x7964e022
je 0x1004e20b
cmp ecx, 0x796abc0e
je 0x1004e2b1
cmp ecx, 0x7d7d8a70
jne 0x1004b7d0
mov eax, dword [esp + 0xfc]
movsx eax, byte [eax]
push dword [esp + 0xf0]
push eax
push dword [esp + 0xfc]
call fcn.10051540
add esp, 0xc
mov ecx, eax
and ecx, 0x966d6490
mov edx, eax
not edx
or edx, 0x966d6490
sub ecx, edx
add ecx, 0x966d648f
mov edx, ecx
and edx, 0x69929b70
lea esi, [edx + edx*2]
not ecx
add esi, ecx
add ecx, ecx
or ecx, 0xd32536e0
sub esi, ecx
not edx
add edx, esi
sub edx, dword [esp + 0x120]
imul ecx, edx, 0x66678f7b
lea edx, [ecx - 0x4391b7ad]
mov esi, edx
and esi, 0x1e4c8757
add ecx, esi
add ecx, 0xbc6e4853
or edx, 0xe1b378a8
sub ecx, edx
imul ecx, ecx, 0xa45f7b3
add ecx, 0x937e69df
mov dword [esp + 0xb8], ecx
test eax, eax
mov eax, 0x9191aeec
mov ecx, 0x8a77cdbf
jmp 0x1004e5ed
cmp ecx, 0x89c3065c
je 0x1004e327
cmp ecx, 0x90c0073f
je 0x1004e342
cmp ecx, 0x93a9c842
jne 0x1004b7d0
mov eax, dword [esp + 0x84]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x58]
movzx ecx, byte [esp + 0xb]
mov byte [eax], cl
mov eax, dword [esp + 0xd0]
movzx ecx, byte [esp + 0xc]
mov byte [eax], cl
mov eax, dword [esp + 0xd8]
movzx ecx, byte [esp + 0xd]
mov byte [eax], cl
cmp dword [esp + 0x6c], 0
mov eax, 0x35948e1d
jmp 0x1004e575
cmp ecx, 0xb611104
je 0x1004e35d
cmp ecx, 0x15f76fbb
je 0x1004e378
cmp ecx, 0x17945cda
jne 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x78d8c85a
mov ecx, 0xb55770e6
mov edx, 0xb398779
cmovl ecx, edx
jmp 0x1004b7d0
cmp ecx, 0xc65dd043
je 0x1004e393
cmp ecx, 0xc7ef80fe
je 0x1004e3ae
cmp ecx, 0xcbb4fd6c
jne 0x1004b7d0
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x118], eax
lea eax, [esp + 0x139]
mov dword [esp + 0x88], eax
lea eax, [esp + 0x13a]
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x136]
mov dword [esp + 0xd0], eax
lea eax, [esp + 0x13b]
mov dword [esp + 0xd4], eax
lea eax, [esp + 0x137]
mov dword [esp + 0xd8], eax
lea eax, [esp + 0x130]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x58]
movzx eax, byte [eax]
mov byte [esp + 0x2b], al
mov eax, dword [esp + 0xd0]
movzx eax, byte [eax]
mov byte [esp + 0x2c], al
mov eax, dword [esp + 0xd8]
movzx eax, byte [eax]
mov byte [esp + 0x2d], al
mov ecx, 0xf7fb35e2
mov dword [esp + 0xc0], 0
mov eax, 0x4d4ed974
mov edx, dword [esp + 0xcc]
mov dword [esp + 0xc4], edx
mov dword [esp + 0xbc], 0
jmp 0x1004b7d0
cmp ecx, 0x5b556fb0
je 0x1004e3c9
cmp ecx, 0x5c1930ce
je 0x1004e408
cmp ecx, 0x5f1c3f58
jne 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x4d4ed974
mov ecx, 0xee6fc77e
mov edx, 0xd5f28973
cmove ecx, edx
jmp 0x1004b7d0
cmp ecx, 0xaf0498f9
je 0x1004e423
cmp ecx, 0xb24b68dd
jne 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x214f52d0
mov ecx, 0x7f672d35
mov edx, 0x89c3065c
cmovl ecx, edx
jmp 0x1004b7d0
cmp ecx, 0x36f90759
je 0x1004e43e
cmp ecx, 0x370232a0
jne 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x8a77cdbf
mov ecx, 0x6e2a13f2
mov edx, 0x36106fdf
cmovl ecx, edx
jmp 0x1004b7d0
cmp ecx, 0xeb13d52c
je 0x1004e477
cmp ecx, 0xee6fc77e
jne 0x1004b7d0
mov ecx, 0x308d4146
jmp 0x1004b7d0
cmp ecx, 0x764842b5
je 0x1004e57c
cmp ecx, 0x778454e6
jne 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x14a26142
mov ecx, 0x753bfde6
mov edx, 0x7fa26676
cmovl ecx, edx
jmp 0x1004b7d0
cmp ecx, 0x9fcc3bc0
je 0x1004e597
cmp ecx, 0x9fe04b11
jne 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x78d8c85a
mov ecx, 0xee6fc77e
mov edx, 0x1d2c11a2
cmove ecx, edx
jmp 0x1004b7d0
cmp ecx, 0x2c8787f5
je 0x1004e5b2
cmp ecx, 0x308d4146
jne 0x1004b7d0
mov ecx, 0xf7fb35e2
jmp 0x1004b7d0
cmp ecx, 0xd5f28973
je 0x1004e5fa
cmp ecx, 0xd8caef73
jne 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x3b302c0a
mov ecx, 0xeefaf29a
mov edx, 0x15f76fbb
cmovl ecx, edx
jmp 0x1004b7d0
cmp ecx, 0x6bb14519
je 0x1004e736
cmp ecx, 0x6e2a13f2
jne 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x9191aeec
mov ecx, 0x1a0264c5
mov edx, 0xa76d019b
cmovl ecx, edx
jmp 0x1004b7d0
cmp ecx, 0xbe49fee4
je 0x1004e751
cmp ecx, 0xbf12c6df
jne 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0xa216c1e1
mov ecx, 0xee6fc77e
mov edx, 0x35064abb
cmove ecx, edx
jmp 0x1004b7d0
cmp ecx, 0x54707de5
je 0x1004e76c
cmp ecx, 0x558f6319
jne 0x1004b7d0
mov eax, 0x1014b0fc
mov ecx, dword [0x1014b10c]
mov dword [esp + 0xf0], ecx
cmp dword [0x1014b110], 0x10
jb 0x1004cbbe
mov eax, dword [0x1014b0fc]
mov dword [esp + 0xf4], eax
cmp dword [esp + 0xf0], 0
sete byte [esp + 0x47]
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x120], eax
mov ecx, 0xf7fb35e2
mov dword [esp + 0xb4], 0
mov eax, 0x708c6f08
jmp 0x1004b7d0
cmp ecx, 0xfa525671
je 0x1004e787
cmp ecx, 0x3f48cd5
jne 0x1004b7d0
mov eax, dword [esp + 0x4c]
mov byte [eax], 0xff
mov eax, dword [esp + 0x88]
mov byte [eax], 0xff
mov eax, dword [esp + 0x8c]
mov byte [eax], 0xff
mov ecx, 0xf7fb35e2
mov al, 0xff
mov dword [esp + 0x70], eax
mov eax, 0x78d8c85a
mov dl, 0xff
mov dword [esp + 0x78], edx
mov dl, 0xff
mov dword [esp + 0x74], edx
jmp 0x1004b7d0
cmp ecx, 0x7ef4fc7f
jne 0x1004e897
mov ecx, dword [esp]
cmp ecx, 0x93e2a3de
mov ecx, 0xee6fc77e
mov edx, 0x9fca53a4
cmove ecx, edx
jmp 0x1004b7d0
mov eax, dword [esp + 0x94]
mov ecx, eax
and ecx, 1
mov edx, eax
and edx, 0xfffffffe
lea ecx, [edx + ecx*2]
sub ecx, eax
add ecx, edx
imul eax, ecx, 0xb3213d8f
mov ecx, 0x4cdec270
sub ecx, eax
add eax, 0x33213d8f
and ecx, 0xc9182f2c
or eax, 0xc9182f2c
sub eax, ecx
lea ecx, [eax - 0x2b73639e]
mov edx, ecx
xor edx, 0xc9182f2c
add edx, eax
mov eax, ecx
not eax
and eax, 0x36e7d0d3
add eax, edx
and ecx, 0xc9182f2c
add eax, ecx
add eax, 0x9da4cb8f
imul ecx, eax, 0xc3b416f
imul eax, eax, 0x187682de
mov edx, eax
xor edx, 0x78455eda
add edx, ecx
mov esi, ecx
or esi, 0xc3dd5092
add esi, edx
xor eax, 0x87baa124
add eax, esi
mov edx, ecx
or edx, 0x3c22af6d
add edx, eax
not ecx
lea eax, [edx + ecx]
add ecx, edx
add ecx, 0x3c22af72
mov edx, dword [esp + 0x54]
mov dword [edx], ecx
mov edx, dword [esp + 0xe4]
mov ecx, dword [esp + 0x90]
cmp edx, 0x10
jae 0x1004e7a2
mov ecx, dword [esp + 0x60]
jmp 0x1004e7a4
mov ecx, dword [esp]
cmp ecx, 0x7ca4d12c
mov ecx, 0xee6fc77e
mov edx, 0x988d1528
cmove ecx, edx
jmp 0x1004b7d0
movsx edx, byte [esp + 0x2f]
mov ecx, dword [esp + 0x48]
call fcn.1004e8d0
mov eax, 0xc3ec2e90
mov ecx, 0xf7fb35e2
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0xc85c73b
mov ecx, 0x778454e6
mov edx, 0x85835b91
cmovl ecx, edx
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x5aa6a3c6
mov ecx, 0xee6fc77e
mov edx, 0xf7724e15
cmove ecx, edx
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0xdaab20fe
mov ecx, 0xee6fc77e
mov edx, 0xdb116283
cmove ecx, edx
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0xbbd4b7f5
mov ecx, 0xee6fc77e
mov edx, 0x56c769fc
cmove ecx, edx
jmp 0x1004b7d0
mov eax, dword [esp + 0x98]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xfffffffe
mov esi, ecx
or esi, 1
add esi, edx
mov edx, eax
xor edx, 1
add edx, esi
mov esi, ecx
or esi, 0xfffffffe
not edx
lea edi, [esi + edx]
add edx, esi
add edx, 0xa617770d
lea esi, [edi + edi]
add esi, 0x4c2eee1a
mov ebx, esi
and ebx, 0x4c2eee18
sub ebx, edx
add edi, edi
mov edx, 0xb3d111e4
sub edx, edi
and edx, 0xb3d111e6
add edx, ebx
xor esi, 0x4c2eee19
add esi, edx
mov edx, eax
sub edx, esi
lea esi, [eax + eax]
mov edi, esi
xor edi, 0xf5ba92c8
xor esi, 0xa456d36
add esi, edi
mov edi, eax
and edi, 0x7add4964
add esi, edi
add esi, 2
mov edi, eax
or edi, 0x7add4964
and esi, edi
not edi
add edi, esi
mov esi, edi
xor esi, 0x8522b69a
add edi, edi
xor edi, 0xf5ba92ca
add edi, esi
add edi, edx
and ecx, 1
and eax, 1
lea eax, [eax + ecx*2]
add eax, edi
imul eax, eax, 0xbeaf79cf
lea ecx, [eax - 0x5a1d380e]
mov edx, ecx
xor edx, 0xc2027780
add edx, eax
or ecx, 0x3dfd887f
add ecx, edx
mov edx, 0xda1d380d
sub edx, eax
or edx, 0xc2027780
add edx, ecx
imul ecx, edx, 0xabced2f
lea edx, [ecx + 0x1877d3d2]
mov eax, edx
xor eax, 0xa9157080
xor edx, 0x56ea8f7f
add edx, eax
lea eax, [ecx + edx]
add ecx, edx
add ecx, 0x6f626353
mov edx, dword [esp + 0x54]
mov dword [edx], ecx
mov edx, dword [esp + 0xe8]
mov ecx, dword [esp + 0x90]
cmp edx, 0x10
jae 0x1004e7ca
mov ecx, dword [esp + 0x60]
jmp 0x1004e7cc
mov ecx, dword [esp]
cmp ecx, 0xac1b2d12
mov ecx, 0xee6fc77e
mov edx, 0x1c82a85c
cmove ecx, edx
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x23eec7a6
mov ecx, 0xee6fc77e
mov edx, 0x5b556fb0
cmove ecx, edx
jmp 0x1004b7d0
lea eax, [esp + 0x134]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x128], eax
mov dword [esp + 0xc8], 0
mov eax, 0x214f52d0
movzx ecx, byte [esp + 0x2e]
mov byte [esp + 0x2a], cl
mov ecx, 0xf7fb35e2
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x5aa6a3c6
mov ecx, 0xc65dd043
mov edx, 0x98aea3fb
cmovl ecx, edx
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0xab901a5c
mov ecx, 0xa27826e
mov edx, 0xb7f2d907
cmovl ecx, edx
jmp 0x1004b7d0
mov eax, dword [esp + 0x9c]
lea esi, [eax + eax]
mov dword [esp + 0x14], esi
xor esi, 3
mov edx, eax
not edx
mov edi, edx
or edi, 1
add edi, esi
mov esi, eax
and esi, 1
add esi, edi
add esi, 0xffffffff
and esi, eax
lea edi, [esi + esi]
mov ebx, edi
neg ebx
add esi, esi
add esi, 0xffffffff
mov ebp, eax
neg ebp
and ebx, ebp
sub ebx, edi
and ebp, esi
add ebp, ebx
lea ebp, [ebp + eax*2]
mov esi, ebp
neg esi
mov edi, eax
and edi, 0x686768bd
add edi, edi
lea edi, [edi + edi*2]
mov ecx, edi
or edi, 0xfffffffd
mov ebx, esi
and ebx, edi
sub ebp, ebx
or ecx, 0xfffffffc
mov ebx, 0xfffffffe
sub ebx, ecx
add ebp, ecx
xor ebx, esi
add ebx, ebp
or edi, esi
and edx, 0x12ba89a4
lea ecx, [eax + edx*4]
add ecx, eax
mov edx, dword [esp + 0x14]
or edx, 0x25751348
sub ecx, edx
mov edx, eax
or edx, 0x6d45765b
add ecx, edx
add ecx, 1
and eax, 0x6d45765b
or eax, ecx
lea ecx, [ebx + edi]
add eax, eax
lea edx, [edi + ebx]
add edx, 0xced0cbbb
mov esi, eax
xor esi, 0x2575134a
xor eax, 0xda8aecb5
and eax, edx
add eax, ecx
add eax, 0xced0cbbb
lea eax, [eax + esi*2]
or esi, edx
sub eax, esi
imul eax, eax, 0x78e7a0a3
lea ecx, [eax + 0x379aea7b]
not ecx
mov edx, 0xc8651584
sub edx, eax
and edx, 0xa0e6bb48
add edx, eax
add edx, 0x379aea7b
and ecx, 0x5f1944b7
add ecx, edx
add ecx, eax
imul ecx, ecx, 0x2060130b
lea eax, [ecx + 0x66decc14]
mov edx, eax
and edx, 0x54661268
add edx, ecx
add edx, 0x66decc14
mov esi, 0x992133eb
sub esi, ecx
and esi, 0xab99ed97
add esi, edx
xor eax, 0x54661268
mov edx, 0x54661267
sub edx, esi
sub edx, eax
add eax, esi
add eax, 0x2b99ed98
and edx, 0xc0e97257
or eax, 0xc0e97257
sub eax, edx
lea ecx, [eax + 0x3f168da9]
mov edx, dword [esp + 0x54]
mov dword [edx], ecx
mov edx, dword [esp + 0xec]
mov ecx, dword [esp + 0x90]
cmp edx, 0x10
jae 0x1004e7f2
mov ecx, dword [esp + 0x60]
jmp 0x1004e7f4
mov eax, dword [esp + 0x4c]
movsx eax, byte [eax]
push dword [esp + 0x64]
push eax
push dword [esp + 0x70]
call fcn.10051540
add esp, 0xc
mov ecx, dword [esp + 0x80]
mov esi, eax
neg esi
lea edx, [eax - 1]
mov edi, edx
and edi, 0xdb89b8f3
xor esi, 0x2476470c
add esi, edi
or edx, 0xdb89b8f3
add edx, eax
sub edx, esi
lea esi, [edx + ecx]
mov edi, edx
or edi, ecx
add esi, edi
not edi
lea esi, [esi + edi*2]
mov edi, edx
xor edi, ecx
add edi, esi
and edx, ecx
add edx, edi
mov esi, 0xfffffffe
sub esi, edx
mov edi, ecx
or edi, eax
mov edx, edi
neg edx
mov ebx, esi
or ebx, edx
add ebx, edi
add ebx, edi
and edx, esi
add edx, ebx
mov esi, ecx
xor esi, 0xcc3bf592
mov ebx, esi
and ebx, 0xcc3bf592
add ebx, ebx
sub ebx, esi
and ecx, 0x33c40a6d
mov edi, ecx
xor edi, 0x33c40a6d
add edi, ebx
add edi, ecx
mov ecx, eax
not ecx
mov esi, edi
not esi
and esi, ecx
add esi, eax
mov ebx, edi
xor ebx, eax
add ebx, esi
mov esi, edi
or esi, ecx
add esi, ebx
add esi, 1
or edi, eax
not esi
add esi, edi
lea edi, [edx + esi]
add edx, esi
add edx, 0x84ea2d62
mov esi, edx
or esi, 0x84ea2d61
mov ebx, edi
sub ebx, esi
lea esi, [ebx + edi]
add esi, 0x84ea2d62
not edx
or edx, 0x7b15d29e
add edx, esi
add edx, 0x84ea2d62
lea ecx, [eax + ecx*2]
not ecx
mov esi, edx
and esi, 0x5c3b136c
add esi, esi
mov edi, edx
sub edi, esi
mov esi, edx
or esi, 0x23c4ec93
add esi, edi
not edx
or edx, 0x23c4ec93
sub esi, edx
add esi, ecx
imul edx, esi, 0x8592e0e5
lea ecx, [edx - 0x1e912064]
mov esi, ecx
and esi, 0x4efd611d
lea esi, [esi + esi*2]
lea edi, [ecx + ecx*2]
sub edi, esi
sub edi, edx
mov esi, 0x1e912063
sub esi, edx
or esi, 0x4efd611d
add esi, edi
and ecx, 0xcefd611d
lea edx, [esi + ecx*2]
lea ecx, [esi + ecx*2]
add ecx, 0x6d8e8182
mov esi, ecx
xor esi, 0x41ee1e9e
add edx, esi
add edx, 0x6d8e8182
mov esi, ecx
not esi
or esi, 0x41ee1e9e
add esi, edx
and ecx, 0x41ee1e9e
lea edx, [esi + ecx]
add ecx, esi
add ecx, 1
mov esi, ecx
xor esi, 0xe2
add edx, esi
add edx, 1
xor ecx, 0x1d
add ecx, edx
imul ecx, ecx, 0xffffffed
add cl, 0xce
cmp eax, 1
sbb edx, edx
or dl, cl
mov dword [esp + 0x78], edx
mov eax, dword [esp + 0x4c]
mov byte [eax], dl
mov eax, dword [esp + 0x88]
movsx eax, byte [eax]
push dword [esp + 0x64]
push eax
push dword [esp + 0x70]
call fcn.10051540
add esp, 0xc
mov ecx, eax
mov edx, dword [esp + 0x80]
not eax
mov dword [esp + 0x18], eax
mov ebx, edx
and ebx, eax
lea esi, [ebx + ebx]
lea eax, [ecx - 0x53d6c4e4]
lea ebp, [ebx + ebx]
add ebp, 0xffffffff
and ebp, eax
sub ebp, esi
neg esi
mov edi, eax
xor edi, esi
lea ebp, [ebp + edi*2]
not edi
lea edi, [edi*2]
add edi, ebp
and esi, eax
lea eax, [edi + esi]
lea ebp, [esi + edi]
add ebp, 1
add esi, edi
add esi, 2
not ebp
or esi, 0x53d6c4e4
add esi, ebp
mov edi, 0x7ffffffd
sub edi, eax
and edi, 0x53d6c4e4
add edi, eax
add edi, 1
sub edi, esi
add ebx, edx
mov ebp, edx
xor ebp, ecx
add ebp, ebx
add ebp, ecx
mov eax, edx
or eax, ecx
add eax, eax
sub ebp, eax
not edx
mov ebx, dword [esp + 0x18]
and ebx, edx
add ebx, ecx
xor edx, ecx
sub ebx, edx
mov eax, ebp
not eax
and eax, ebx
add eax, ebp
or ebx, ebp
add ebx, ebx
sub ebx, eax
mov eax, ebx
not eax
lea edx, [ebx + eax*2]
add edx, 1
lea esi, [eax + ebx*2]
add esi, eax
add esi, 2
lea eax, [eax + ebx*2]
add eax, 2
sub ebx, eax
or esi, edx
or ebx, edx
lea eax, [ebx + esi*2]
sub edx, eax
lea eax, [edx + edi]
add eax, 0x53d6c4e4
mov esi, eax
xor esi, 0xc2
mov edx, eax
xor edx, 0x3d
add edx, esi
add edx, eax
mov eax, dword [esp + 0x18]
lea eax, [ecx + eax*2]
add edx, eax
add dl, 2
cmp ecx, 1
sbb ecx, ecx
or cl, dl
mov dword [esp + 0x74], ecx
mov eax, dword [esp + 0x88]
mov byte [eax], cl
mov eax, dword [esp + 0x8c]
movsx eax, byte [eax]
push dword [esp + 0x64]
push eax
push dword [esp + 0x70]
call fcn.10051540
add esp, 0xc
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x80]
mov ebx, eax
not ebx
mov edx, ecx
and edx, ebx
mov esi, ecx
sub esi, edx
sub edx, ecx
mov ebp, ecx
lea edx, [edx + esi*2]
lea esi, [eax + edx]
add esi, 0x369a8f70
add edx, eax
and esi, 0xc9657090
add edx, esi
add edx, 0x369a8f70
not esi
lea edi, [esi + edx - 0x369a8f6f]
lea ecx, [eax + ebx*2 + 1]
mov eax, ebp
mov dword [esp + 0x30], ebp
mov edx, ebp
not edx
mov ebp, ecx
and ebp, eax
mov esi, ecx
xor esi, edx
add esi, ebp
mov eax, ecx
or eax, edx
add eax, esi
mov ebp, ecx
mov esi, dword [esp + 0x30]
xor ebp, esi
add ebp, eax
mov eax, dword [esp + 0x18]
lea eax, [eax + ebx*2]
sub ebp, eax
and ebp, ecx
mov eax, edi
xor eax, 0xfae88147
mov ecx, edi
or ecx, 0x5177eb8
add ecx, eax
and edi, 0xfae88147
add edi, ecx
add edi, ebp
mov eax, edi
not eax
or eax, edx
lea ebx, [eax + edi*2]
or edi, esi
sub ebx, edi
sub edx, esi
sub edx, esi
add edx, esi
add edx, esi
lea eax, [edx + edx]
add eax, 1
mov ecx, edx
not ecx
lea ecx, [ecx + edx*2]
add ecx, 1
sub edx, eax
add ebx, 0x58eed6a7
or edx, ebx
or ebx, ecx
add ebx, ecx
add edx, ebx
imul eax, edx, 0x492a2703
lea ecx, [eax - 0x1f3d58e9]
add eax, eax
add eax, 0xc1854e2e
mov edx, eax
or edx, 0x26
sub edx, eax
mov eax, ecx
not eax
and eax, 0xec
add eax, edx
and ecx, 0x13
add ecx, eax
imul ecx, ecx, 0x55
add cl, 6
cmp dword [esp + 0x18], 1
sbb edx, edx
or dl, cl
mov dword [esp + 0x70], edx
mov eax, dword [esp + 0x8c]
mov byte [eax], dl
mov eax, dword [esp + 0xd4]
movsx eax, byte [eax]
push dword [esp + 0x64]
push eax
push dword [esp + 0x70]
call fcn.10051540
add esp, 0xc
mov ecx, dword [esp + 0x80]
lea edx, [eax + eax]
mov dword [esp + 0x18], eax
mov esi, edx
and esi, 0x3d8a4d1c
not edx
or edx, 0x3d8a4d1d
sub esi, edx
lea edi, [esi + 0x3d8a4d1c]
mov edx, edi
and edx, 0xc275b2e3
lea edx, [edx + edx*2]
mov ebx, edi
not ebx
add ebx, ebx
or ebx, 0x84eb65c6
add esi, ebx
add esi, 0x3d8a4d1c
and edi, 0xc275b2e2
add esi, ecx
add esi, edi
sub edx, esi
mov ebx, ecx
not ebx
lea esi, [ebx + ebx*2]
lea edi, [esi + ecx*2]
mov esi, 0xfffffffd
sub esi, edi
and esi, eax
add esi, edi
sub esi, eax
lea edi, [esi + 3]
mov ebp, edi
not ebp
lea eax, [edx - 0x28ddaacb]
and ebp, eax
add ebp, edx
add ebp, 0xd7225535
mov dword [esp + 0x30], ebp
mov ebp, 0x28ddaaca
sub ebp, edx
and ebp, edi
add ebp, dword [esp + 0x30]
lea edx, [esi + ebp]
add edx, 3
xor eax, edi
sub edx, eax
mov eax, dword [esp + 0x18]
mov edi, eax
not edi
lea ebp, [eax + edi*2]
add ebp, 1
mov eax, ebp
and eax, ebx
mov esi, ebp
xor esi, ebx
add esi, esi
sub eax, esi
or ebx, ebp
add ebx, eax
mov eax, ebp
xor eax, ecx
add eax, eax
sub ebx, eax
or ecx, ebp
add ecx, ebx
sub ebp, ecx
lea eax, [ebp + 1]
add eax, ebp
sub ebp, eax
lea eax, [ebp*2]
add eax, ebp
not eax
add eax, ebp
lea esi, [eax + ebp]
lea ecx, [eax + ebp]
add ecx, 1
lea eax, [edx - 0x2ce4cd79]
add esi, edx
add esi, 0xd31b3288
mov ebx, ecx
not ebx
or ebx, eax
xor eax, ecx
add eax, esi
add ebx, eax
mov eax, 0x2ce4cd78
sub eax, edx
or eax, ecx
add eax, ebx
mov edx, dword [esp + 0x18]
lea ecx, [edx + edi*2]
add ecx, eax
imul eax, ecx, 0x7891caf5
lea ecx, [eax + 0x38e51253]
add eax, eax
add eax, 0x71ca24a6
or eax, 0x46da0f2e
xor ecx, 0xdc92f868
add ecx, eax
not ecx
imul eax, ecx, 0x590ceea3
add eax, 0xc58e3725
mov dword [esp + 0xac], eax
test edx, edx
mov eax, 0xdaab20fe
mov ecx, 0x78d8c85a
cmove eax, ecx
mov ecx, 0xf7fb35e2
mov edx, dword [esp + 0x70]
mov byte [esp + 0x18], dl
mov edx, dword [esp + 0x78]
mov byte [esp + 0x26], dl
mov edx, dword [esp + 0x74]
mov byte [esp + 0x30], dl
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0xac1b2d12
mov ecx, 0xba22fa9b
mov edx, 0x4b078067
cmovl ecx, edx
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x31175c75
mov ecx, 0xee6fc77e
mov edx, 0x7d7d8a70
cmove ecx, edx
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x86079f20
mov ecx, 0xee6fc77e
mov edx, 0x660fb279
cmove ecx, edx
jmp 0x1004b7d0
cmp byte [esp + 0x46], 0
mov eax, 0xbdebd457
mov ecx, 0x14a26142
cmovne eax, ecx
mov ecx, 0xf7fb35e2
jmp 0x1004b7d0
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x12c], eax
movzx eax, byte [esp + 0x2a]
mov byte [esp + 0x2f], al
mov eax, dword [esp + 0x100]
mov eax, dword [esp + 0x104]
mov eax, dword [eax]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x5c]
mov eax, dword [eax]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0xa0]
cmp eax, dword [esp + 0x108]
mov eax, 0x769628f7
mov ecx, 0x5e1522b0
jmp 0x1004b7bb
mov edi, dword [esp + 0x4c]
movzx eax, byte [esp + 0x139]
mov byte [esp + 0x14], al
shr al, 4
mov dh, al
not dh
mov ebx, eax
mov dl, al
xor dl, 3
mov bh, al
or bh, 3
mov byte [esp + 0x1c], bh
add bh, dl
mov ah, al
or ah, 0xfc
add bh, ah
sub bh, al
add bh, 1
mov ch, bh
and ch, al
or bh, dh
add bh, al
add dl, al
and al, 3
mov cl, al
xor cl, 0x3e
add cl, al
and dh, 0xc1
add dh, cl
mov cl, byte [edi]
shl cl, 2
mov byte [esp + 0x20], cl
and bl, 2
add bl, dh
add ch, ch
not bh
add bh, ch
add bh, bl
add bh, 1
mov cl, ah
mov ch, 0xfe
sub ch, ah
or ch, bh
add ch, ah
add ah, 1
not cl
add cl, bh
sub cl, ch
and ah, bh
add ah, cl
add ah, 0xfe
xor al, 3
sub dl, byte [esp + 0x1c]
or dl, al
mov al, ah
and al, 0xe0
add al, ah
or ah, 0x1f
sub al, ah
add al, 0x3e
mov ecx, eax
sub cl, dl
neg dl
mov ah, al
xor ah, dl
add ah, cl
mov ecx, eax
or cl, dl
not cl
add cl, ah
and dl, al
add dl, cl
add dl, 1
mov eax, edx
or al, 0x1f
mov ecx, edx
add cl, al
not al
add al, al
add al, cl
mov ecx, edx
xor cl, 0x1f
add cl, al
and dl, 0x1f
add dl, cl
mov eax, edx
add al, 0x8f
and al, 0xaf
add al, dl
mov ah, 0x70
sub ah, dl
or ah, 0x50
add ah, al
mov al, ah
add al, 0x3f
movzx esi, al
mov ch, ah
add ch, 0xe4
mov dl, ah
add dl, 0xe3
mov dh, dl
not dh
mov cl, dl
and cl, 0x8a
or dh, 0x8a
add dh, cl
lea ebx, [esi + esi*2]
neg ebx
add bl, ch
add bl, al
sub al, dh
xor dl, 0x75
add dl, al
add bl, 0xb5
and bl, 0xb5
mov al, ch
and al, 0x4a
mov cl, bl
or cl, al
add cl, cl
not al
add al, cl
sub al, bl
add al, 1
mov dh, al
xor dh, 0x4a
mov cl, byte [esp + 0x20]
or ch, cl
not cl
mov bl, dh
xor bl, cl
xor al, 0xb5
or al, bl
and bl, dh
add bl, dh
add bl, cl
or dh, cl
sub bl, dh
add al, bl
mov dh, dl
add dh, 0x2f
add al, 1
mov bl, dh
or bl, al
add dl, bl
add dh, dh
add dh, al
add dh, bl
sub dl, dh
add dl, 0x2f
mov al, 0x1b
sub al, ah
mov dh, al
and dh, cl
add dh, dh
add al, al
sub al, dh
add ah, 0x64
add al, ah
or ah, cl
add ah, al
add ch, ch
sub ah, ch
movzx eax, ah
imul eax, eax, 0xffffffd6
or al, 1
movzx eax, al
imul eax, eax, 0xffffffc3
mov ecx, eax
add cl, 0x3f
mov ch, 0xc0
sub ch, al
mov dh, dl
or dh, ch
xor ch, cl
and ch, dl
xor ch, cl
sub ch, al
add ch, dh
and cl, dl
add cl, ch
movzx eax, cl
imul eax, eax, 0xffffff99
add al, 0xf2
mov ecx, eax
or cl, 0xb
or al, 0xf4
add al, cl
add al, 0xf6
mov ecx, eax
and cl, 0x74
add cl, al
not al
and al, 0x74
add al, cl
mov ecx, eax
and cl, 0xf4
add cl, al
mov edx, eax
xor dl, 0xf4
add dl, cl
or al, 0xf4
sub dl, al
movzx eax, dl
imul eax, eax, 0xffffffa9
add al, 0xaf
mov byte [esp + 0x2e], al
mov eax, dword [esp + 0x58]
movzx ecx, byte [esp + 0x2e]
mov byte [eax], cl
mov ch, byte [esp + 0x14]
shl ch, 4
movzx eax, byte [esp + 0x13a]
shr al, 2
and al, 0xf
add al, 0x22
mov cl, al
or cl, 0xde
mov edx, eax
add dl, al
mov ah, dl
xor ah, 0xbc
add ah, cl
xor dl, 0x42
add dl, ah
and al, 0x1e
add al, dl
movzx eax, al
imul edx, eax, 0x6d
mov al, 0xc0
sub al, dl
add dl, 0xbf
xor dl, 0x7a
add al, al
or al, 0xa
sub dl, al
movzx eax, dl
mov esi, edx
imul ebx, eax, 0x65
mov cl, 0x44
sub cl, bl
add bl, 0xbb
mov edx, ecx
mov al, ch
and dl, ch
mov byte [esp + 0x20], dl
mov dl, ch
mov dh, ch
not dl
mov eax, ecx
and al, dl
mov ah, dl
add al, al
mov byte [esp + 0x1c], al
mov ch, cl
xor ch, dh
mov dl, cl
or dl, ah
mov al, bl
or al, dh
mov byte [esp + 7], al
mov al, ah
add al, ah
add al, dh
add cl, ah
and dh, bl
mov byte [esp + 0x14], dh
or ah, bl
add ah, dh
mov dh, byte [esp + 0x20]
add ah, dh
mov byte [esp + 6], ah
sub dh, byte [esp + 0x1c]
add ch, dh
add dl, ch
sub dl, byte [esp + 7]
or al, 1
mov ah, bl
and ah, al
or ah, dl
mov byte [esp + 0x20], ah
mov dl, 0x63
mov ebx, esi
sub dl, bl
movzx edx, dl
imul edx, edx, 0x65
add dl, 0x35
and dl, al
add cl, byte [esp + 0x14]
mov byte [esp + 0x14], cl
mov ebx, ecx
add bl, cl
add bl, 2
mov ch, cl
sub ch, bl
movzx esi, ch
lea eax, [esi + esi*2]
add al, ch
mov esi, eax
mov eax, ecx
not al
add al, bl
add al, al
mov ecx, esi
add al, cl
mov ah, byte [esp + 0x20]
mov bh, ah
neg bh
mov cl, 0xfe
sub cl, dl
or cl, bh
add cl, ah
add dl, 1
and dl, bh
sub bl, byte [esp + 0x14]
add bl, al
mov eax, ecx
not al
add al, dl
sub dl, cl
add bl, 3
and al, bl
add bl, al
add dl, bl
sub al, dl
mov dl, 0xfe
sub dl, al
add al, 1
mov cl, 0xfe
mov ah, byte [esp + 6]
sub cl, ah
add ah, 1
mov ch, cl
or ch, 0x87
add ch, cl
xor cl, 0x78
add cl, ch
add cl, ah
add cl, 2
and ah, 0x70
or ah, cl
mov cl, ah
add cl, ah
xor cl, 0xf
add cl, ah
mov ch, ah
or ch, 0x87
sub ch, cl
and ah, 0x78
add ah, ch
mov ecx, eax
sub cl, ah
mov ch, al
xor ch, ah
add ch, cl
mov cl, ah
not cl
add cl, ch
or dl, ah
add dl, cl
and ah, al
add ah, dl
movzx eax, ah
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
mov ecx, eax
add cl, 0x32
mov dl, 0xd7
sub dl, al
add al, 0x68
or al, 0xdf
mov ch, cl
sub ch, al
add ch, cl
or dl, 0x20
add dl, ch
movzx eax, dl
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*8]
mov ecx, eax
add cl, 0xcc
add al, 0x66
mov edx, eax
or dl, 0xc9
sub dl, cl
or al, 0x36
add al, dl
add al, cl
add al, 0xca
mov ecx, eax
add cl, al
or cl, 0x3e
add cl, al
mov edx, eax
xor dl, 0xe0
add dl, cl
add dl, 0xc3
mov ecx, eax
not cl
add cl, dl
mov ch, cl
and ch, 0xc9
add ch, cl
sub al, dl
and al, 0xc9
add al, ch
add al, 0x6e
mov byte [esp + 0x136], al
imul eax, dword [esp + 0x6c], 0xc555c1a7
add eax, 0x3aaa3e59
mov ecx, eax
or ecx, 0xb2cfd60b
or eax, 0x4d3029f4
lea edx, [ecx + eax]
add ecx, eax
add ecx, 0xb2cfd60c
mov eax, ecx
not eax
and ecx, 0x78a3e2cc
add ecx, edx
add ecx, 0xb2cfd60c
and eax, 0x78a3e2cc
add eax, ecx
mov ecx, eax
and ecx, 0x4d3029f4
add ecx, eax
mov edx, eax
xor edx, 0x4d3029f4
add edx, ecx
or eax, 0x4d3029f4
sub edx, eax
imul eax, edx, 0x886d617
add eax, 0xe38caaaf
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x6c]
cmp eax, 2
mov eax, 0x14a26142
mov ecx, 0x62bd50e4
cmovge eax, ecx
mov ecx, 0xf7fb35e2
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x8a77cdbf
mov ecx, 0xee6fc77e
mov edx, 0xda6b2b94
cmove ecx, edx
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x62bd50e4
mov ecx, 0xee6fc77e
mov edx, 0xf7982660
cmove ecx, edx
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x6bc2f484
mov ecx, 0x6f776649
mov edx, 0x308f0188
cmovl ecx, edx
jmp 0x1004b7d0
mov dword [esp + 0xb8], 0xffffffff
mov eax, 0x9191aeec
mov ecx, 0xf7fb35e2
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x72a15942
mov ecx, 0xee6fc77e
mov edx, 0x73b9cf88
cmove ecx, edx
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x6bc2f484
mov ecx, 0xee6fc77e
mov edx, 0x83f386a8
cmove ecx, edx
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x72a15942
mov ecx, 0xdb046161
mov edx, 0xc2ce1e24
cmovl ecx, edx
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x5e1522b0
mov ecx, 0xcd346a37
mov edx, 0x9ba9f6e8
cmovl ecx, edx
jmp 0x1004b7d0
movsx edx, byte [esp + 0x13]
mov ecx, dword [esp + 0x48]
call fcn.1004e8d0
jmp 0x1004e80b
mov ecx, dword [esp]
cmp ecx, 0x9191aeec
mov ecx, 0xee6fc77e
mov edx, 0x7964e022
cmove ecx, edx
jmp 0x1004b7d0
mov dword [esp], eax
mov ecx, 0xb24b68dd
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x62bd50e4
mov ecx, 0x3207cfe6
mov edx, 0x977d9cb1
cmovl ecx, edx
jmp 0x1004b7d0
mov ecx, dword [esp + 0x7c]
mov eax, ecx
not eax
lea edx, [eax + eax*2]
lea edx, [edx + ecx*2]
add edx, 2
mov esi, edx
not esi
and esi, 0xfffffffe
lea esi, [esi + esi*2]
or edx, 1
add esi, edx
lea edi, [esi + edx]
add edx, esi
add edx, 2
mov esi, ecx
neg esi
lea ebx, [ecx - 1]
and ebx, edx
add edi, ebx
add edi, 2
or esi, edx
sub edi, esi
mov edx, edi
not edx
lea esi, [edx + edx]
not esi
add edi, edi
sub esi, edi
lea edi, [esi + edx]
add esi, edx
add esi, 0xffffffff
mov ebx, ecx
or ebx, 1
mov ebp, eax
or ebp, 1
mov edx, esi
xor edx, ebp
add edi, edx
add edi, 0xffffffff
mov edx, esi
or edx, ebp
add edx, ebx
and ebp, esi
add ebp, edi
sub edx, ebp
mov esi, eax
and esi, 0xd1183d00
mov ebx, ecx
and ebx, 0x51183d00
lea edi, [ebx + esi*2]
add edi, 0xaee7c300
mov esi, ecx
and esi, 0xaee7c2ff
add ebx, ebx
sub esi, ebx
mov ebx, ecx
xor ebx, 0xaee7c2ff
add ebx, esi
or ecx, 0x51183d00
add ecx, ebx
mov esi, eax
or esi, 0xaee7c2ff
sub ecx, esi
mov esi, ecx
not esi
and esi, edi
mov ebx, edi
not ebx
and ebx, ecx
lea esi, [esi + ebx*2]
xor ecx, edi
not ecx
add ecx, esi
lea ebx, [ecx + edi]
add ebx, 1
add ecx, edi
add ecx, ecx
add ecx, 2
xor ecx, 0x5dcf85fd
xor ebx, 0x51183d01
add ebx, ecx
add ebx, edx
mov ecx, ebx
not ecx
and ecx, 0xa541c09d
add ecx, ebx
and ebx, 0xa541c09d
add ebx, ecx
add ebx, eax
mov eax, ebx
and eax, 0x5abe3f62
mov ecx, ebx
or ecx, 0xa541c09d
add ecx, eax
xor ebx, 0x5abe3f62
lea eax, [ecx + ebx]
add ecx, ebx
add ecx, 0x5abe3f64
mov edx, ecx
and edx, 1
add eax, edx
add eax, 0x5abe3f64
mov edx, ecx
xor edx, 1
add edx, eax
or ecx, 1
sub edx, ecx
imul eax, edx, 0x9790424f
lea ecx, [eax - 0x335ca20a]
mov edx, ecx
and edx, 0xeb183114
add eax, edx
add eax, 0xcca35df6
or ecx, 0x14e7ceeb
sub eax, ecx
lea ecx, [eax + 0x29cf9dd6]
mov edx, ecx
not edx
mov esi, ecx
xor esi, 0x9d82d958
add eax, esi
add eax, 0x29cf9dd6
and edx, 0x627d26a7
add edx, eax
and ecx, 0x9d82d958
lea eax, [ecx + edx]
add eax, 0x627d26a9
imul ecx, eax, 0x2ee394af
imul edx, eax, 0x5dc7295e
add edx, ecx
imul eax, eax, 0xa238d6a2
lea esi, [eax + edx]
add esi, 0xfd88b15b
mov eax, dword [esp + 0x7c]
movzx ecx, byte [esp + 8]
mov byte [esp + eax + 0x138], cl
mov eax, dword [esp + 0xdc]
mov ecx, eax
and ecx, 0x8e82645
add eax, ecx
not ecx
add ecx, eax
imul ecx, ecx, 0x3e176883
lea eax, [ecx + 0x7c2ed106]
mov edx, 0x83d12ef9
sub edx, ecx
mov ecx, eax
and ecx, 0x345b8c0f
and edx, 0xcba473f0
lea ecx, [edx + ecx*2]
mov edx, eax
xor edx, 0x345b8c0f
add edx, ecx
and eax, 0xcba473f0
lea ecx, [edx + eax]
add eax, edx
add eax, 0x345b8c11
mov edx, eax
and edx, 0x60ad58cc
add ecx, edx
add ecx, 0x345b8c11
mov edx, eax
or edx, 0x9f52a733
add edx, ecx
mov ecx, eax
xor ecx, 0x60ad58cc
add ecx, edx
not eax
add eax, ecx
imul eax, eax, 0x33da262b
add eax, 0x8fe965a6
mov dword [esp + 0x11c], eax
mov dword [esp + 0xb0], esi
cmp esi, 4
mov eax, 0xfe0d441e
mov ecx, 0xc85c73b
cmove eax, ecx
movzx ecx, byte [esp + 0x10]
mov byte [esp + 0x29], cl
movzx ecx, byte [esp + 0xf]
mov byte [esp + 0x28], cl
mov ecx, 0xf7fb35e2
movzx edx, byte [esp + 0xe]
mov byte [esp + 0x27], dl
jmp 0x1004b7d0
mov ecx, dword [esp + 0xa0]
mov eax, ecx
and eax, 1
mov dword [esp + 0x20], eax
lea eax, [eax + eax*2]
lea edi, [ecx + ecx]
mov esi, edi
mov edx, edi
mov dword [esp + 0x14], edi
sub esi, eax
mov eax, ecx
xor eax, 1
add eax, esi
mov edi, ecx
not edi
add eax, edi
mov esi, edi
or esi, 1
add esi, eax
mov eax, edx
and eax, 2
add eax, esi
add eax, 2
mov ebx, eax
and ebx, ecx
mov esi, eax
xor esi, ecx
not eax
or eax, ecx
add eax, ebx
add eax, esi
mov esi, ecx
mov edx, ecx
sub esi, eax
not ebx
add ebx, esi
lea eax, [ebx + ebx]
mov esi, eax
and esi, 0xe5685f38
or eax, 0x1a97a0c7
sub esi, eax
lea eax, [esi + ebx*2]
lea esi, [esi + ebx*2]
add esi, 0x1a97a0c7
mov ebx, esi
add eax, eax
add eax, 0x352f418e
or esi, 0x71fee231
sub eax, esi
sub eax, esi
not ebx
add eax, esi
or ebx, 0x8e011dcf
add eax, ebx
add eax, 1
mov esi, eax
and esi, ecx
add esi, ecx
mov ebx, eax
xor ebx, ecx
add ebx, esi
or eax, edi
lea esi, [ebx + eax]
add eax, ebx
add eax, 1
mov ebx, eax
and ebx, 0x71fee231
add ebx, esi
add ebx, 1
or eax, 0x8e011dce
sub ebx, eax
lea eax, [edi + edi*2]
lea eax, [eax + ecx*2]
add eax, 2
and eax, 0xa435352
mov esi, eax
xor esi, 0xa435352
add esi, eax
lea edi, [eax + esi]
add edi, 0xf5bcacae
mov esi, dword [esp + 0x14]
and esi, 0xeb79595a
mov eax, ecx
mov dword [esp + 0x1c], ecx
or eax, 0xa435352
sub esi, eax
add esi, 0xa435352
mov eax, edi
and eax, esi
lea ecx, [eax + eax*2]
sub ecx, edi
mov ebp, edi
or ebp, esi
add ebp, ecx
not edi
add ebp, edi
or edi, esi
add edi, edi
sub ebp, edi
not eax
add eax, ebp
mov ebp, edx
or ebp, 0xfffffffe
mov edi, dword [esp + 0x14]
mov ecx, edi
or ecx, 0xfffffffc
lea esi, [ebp*2]
add esi, ebp
sub ecx, esi
mov edx, dword [esp + 0x20]
xor edx, 1
add ebp, edx
xor eax, 0xa435353
add ebp, ecx
lea ecx, [ebx + eax]
not ebp
lea edx, [ebx + eax]
add edx, 0xf6c04bbc
lea eax, [ecx + ebp*2]
add eax, 0xf6c04bbc
xor edx, ebp
not edx
add edx, eax
mov eax, 0x93fb443
sub eax, ecx
add edx, eax
or eax, ebp
add eax, eax
sub edx, eax
mov ecx, edi
or ecx, 2
mov esi, dword [esp + 0x1c]
or esi, 1
mov eax, esi
not eax
add eax, ecx
sub esi, ecx
lea eax, [eax + esi*2]
lea ecx, [eax + eax]
xor ecx, 0xfffffffc
add ecx, eax
xor ecx, 0xfffffffe
mov esi, eax
not esi
add esi, ecx
sub esi, eax
add esi, edx
imul eax, esi, 0x88e8b6a3
lea ecx, [eax - 0x66794dfa]
mov edx, ecx
xor edx, 0x8a014624
add edx, eax
or ecx, 0x75feb9db
add ecx, edx
mov edx, 0xe6794df9
sub edx, eax
or edx, 0x8a014624
lea eax, [ecx + edx]
add ecx, edx
add ecx, 0x5b848484
and ecx, 0x8a014624
add eax, ecx
add eax, 0x5b848484
xor ecx, 0x8a014624
add ecx, eax
imul eax, ecx, 0x685cad0b
lea ecx, [eax + 0x7ee5d120]
mov edx, dword [esp + 0x104]
mov dword [edx], ecx
mov edx, dword [esp + 0x108]
mov ecx, dword [esp + 0x128]
cmp edx, 0x10
jae 0x1004e81a
mov ecx, dword [esp + 0x60]
jmp 0x1004e81c
mov ecx, dword [esp]
cmp ecx, 0x7ca4d12c
mov ecx, 0x35bca5e3
mov edx, 0x9fe04b11
cmovl ecx, edx
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0xa216c1e1
mov ecx, 0xbf12c6df
mov edx, 0x7ef4fc7f
cmovl ecx, edx
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x14a26142
mov ecx, 0xee6fc77e
mov edx, 0x7dcfbf4f
cmove ecx, edx
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x34d84930
mov ecx, 0xee6fc77e
mov edx, 0x3f48cd5
cmove ecx, edx
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x4a57e6dd
mov ecx, 0xaf0498f9
mov edx, 0x9fcc3bc0
cmovl ecx, edx
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0xbdebd457
mov ecx, 0x64fa6dee
mov edx, 0xab214884
cmovl ecx, edx
jmp 0x1004b7d0
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0xb8]
mov byte [eax], cl
mov eax, dword [esp + 0xf8]
mov ecx, eax
and ecx, 0x7bb1a256
add ecx, eax
or eax, 0x844e5da9
sub eax, ecx
mov ecx, 0xef646ba4
sub ecx, eax
mov esi, ecx
and esi, 0x696fdf1a
add esi, esi
mov edx, ecx
sub edx, esi
add eax, 0x109b945b
and eax, 0x169020e5
add eax, eax
sub edx, eax
add ecx, ecx
xor ecx, 0x2d2041ca
lea eax, [edx + ecx]
add ecx, edx
add ecx, 0x969020e5
and ecx, 0x94e9f206
mov edx, ecx
xor edx, 0x94e9f206
add eax, edx
add eax, 0x969020e5
add eax, ecx
mov ecx, eax
and ecx, 0x969020e5
add ecx, eax
or eax, 0x696fdf1a
sub ecx, eax
add ecx, 0xd2dfbe35
mov dword [esp + 0xb4], ecx
cmp ecx, dword [esp + 0x6c]
mov eax, 0x708c6f08
mov ecx, 0x819e1fcf
jmp 0x1004e5ed
cmp dword [esp + 0xe0], 0
mov eax, 0x4d4ed974
mov ecx, 0x189980b8
cmove eax, ecx
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0xc4], ecx
mov ecx, 0xf7fb35e2
mov edx, dword [esp + 0x11c]
mov dword [esp + 0xc0], edx
movzx edx, byte [esp + 0x29]
mov byte [esp + 0x2d], dl
mov dh, byte [esp + 0x28]
mov byte [esp + 0x2c], dh
movzx ebx, byte [esp + 0x27]
mov byte [esp + 0x2b], bl
mov byte [esp + 0xd], dl
mov byte [esp + 0xc], dh
mov byte [esp + 0xb], bl
mov edx, dword [esp + 0xb0]
mov dword [esp + 0xbc], edx
mov dword [esp + 0x84], edx
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0xb6c8b74c
mov ecx, 0x54707de5
mov edx, 0x5acaa8cf
cmovl ecx, edx
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0xbdebd457
mov ecx, 0xee6fc77e
mov edx, 0xcbb4fd6c
cmove ecx, edx
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x819e1fcf
mov ecx, 0xee6fc77e
mov edx, 0xa49df337
cmove ecx, edx
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x35948e1d
mov ecx, 0xfa525671
mov edx, 0x3f65db2c
cmovl ecx, edx
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x708c6f08
mov ecx, 0xbe49fee4
mov edx, 0xcd11d528
cmovl ecx, edx
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x23eec7a6
mov ecx, 0x459adfff
mov edx, 0x6bb14519
cmovl ecx, edx
jmp 0x1004b7d0
mov eax, dword [esp + 0x50]
mov eax, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x5c]
mov eax, dword [eax]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x9c]
cmp eax, dword [esp + 0xec]
mov eax, 0x7ca4d12c
mov ecx, 0x6bc2f484
jmp 0x1004b7bb
mov ecx, dword [esp]
cmp ecx, 0xb6c8b74c
mov ecx, 0xee6fc77e
mov edx, 0x607595c8
cmove ecx, edx
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x4d4ed974
mov ecx, 0x5f1c3f58
mov edx, 0x764842b5
cmovl ecx, edx
jmp 0x1004b7d0
mov eax, dword [esp + 0x50]
movzx eax, byte [esp + 0x13]
mov byte [esp + 0x29], al
movzx eax, byte [esp + 0x12]
mov byte [esp + 0x28], al
mov ecx, 0xf7fb35e2
mov dword [esp + 0xb0], 0
mov eax, 0xfe0d441e
movzx edx, byte [esp + 0x11]
mov byte [esp + 0x27], dl
jmp 0x1004b7d0
mov eax, dword [esp + 0x100]
mov eax, dword [esp + 0x12c]
mov ecx, eax
not ecx
and ecx, 0x9ea6ed3
add ecx, eax
and eax, 0x9ea6ed3
add eax, ecx
add eax, 1
mov ecx, eax
and ecx, 0xf615912c
mov edx, eax
or edx, 0x9ea6ed3
add edx, ecx
xor eax, 0xf615912c
lea ecx, [edx + eax]
add eax, edx
add eax, 0x6837e5d6
mov edx, eax
xor edx, 0xe95aa7f6
add edx, ecx
mov ecx, eax
not ecx
and ecx, 0x16a55809
add ecx, edx
and eax, 0xe95aa7f6
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x7edd3de1
mov ecx, eax
not ecx
mov esi, eax
or esi, 0x8dddab58
add edx, esi
add edx, 0x7edd3de1
and ecx, 0x722254a7
lea ecx, [edx + ecx*2]
mov edx, eax
xor edx, 0x8dddab58
add edx, ecx
and eax, 0x8dddab58
lea ecx, [edx + eax]
add edx, eax
add edx, 0x8dddab5a
mov eax, edx
not eax
mov esi, edx
xor esi, 0xe95aa7f6
lea esi, [esi + esi*2]
sub edx, esi
add ecx, ecx
add ecx, 0x1bbb56b4
mov esi, ecx
or esi, 0xd2b54fec
add esi, edx
mov edx, eax
and edx, 0x16a55809
add edx, esi
xor ecx, 0xd2b54fec
add ecx, edx
or eax, 0x16a55809
add eax, ecx
add eax, 0xe95aa7f8
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0xa4]
cmp ecx, eax
mov eax, 0x72a15942
mov ecx, 0x14a26142
jmp 0x1004e5ed
mov ecx, dword [esp]
cmp ecx, 0x4a57e6dd
mov ecx, 0xee6fc77e
mov edx, 0x558f6319
cmove ecx, edx
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x3b302c0a
mov ecx, 0xee6fc77e
mov edx, 0x36f90759
cmove ecx, edx
jmp 0x1004b7d0
mov eax, 0x1014b0fc
mov ecx, dword [0x1014b10c]
mov dword [esp + 0x64], ecx
cmp dword [0x1014b110], 0x10
jb 0x1004e5cf
mov eax, dword [0x1014b0fc]
mov dword [esp + 0x68], eax
cmp dword [esp + 0x64], 0
mov eax, dword [esp + 0x68]
mov dword [esp + 0x80], eax
mov eax, 0xab901a5c
mov ecx, 0x34d84930
cmove eax, ecx
mov ecx, 0xf7fb35e2
jmp 0x1004b7d0
mov edx, dword [esp + 0xc4]
mov ecx, edx
not ecx
and ecx, 0xec662a85
mov eax, edx
xor eax, 0x1399d57a
add eax, ecx
mov ecx, edx
and ecx, 0x1399d57a
add eax, ecx
or edx, 0x1399d57a
sub eax, edx
mov edx, eax
or edx, ecx
not ecx
or ecx, eax
lea esi, [ecx + edx*2]
lea ecx, [ecx + edx*2]
add ecx, 2
mov edx, eax
not edx
add edx, esi
add edx, 2
mov esi, edx
xor esi, 0x1399d57a
mov edi, edx
or edi, 0x1399d57a
add edi, esi
or edx, 0xec662a85
add edx, edi
sub eax, ecx
add eax, edx
add eax, 1
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xadf193c8
mov esi, ecx
and esi, 0xd20e6c37
lea edx, [edx + esi*2]
add edx, ecx
or ecx, 0xadf193c8
sub edx, ecx
xor eax, 0xadf193c8
mov esi, 0x53b34384
sub esi, edx
sub esi, eax
add eax, edx
add eax, 0xc4cbc7b
and esi, 0x177d6ddc
or eax, 0x177d6ddc
sub eax, esi
lea ecx, [eax - 0x177d6ddc]
and ecx, 0xa1a4d74c
add eax, ecx
add eax, 0xe8829224
xor ecx, 0xa1a4d74c
add ecx, eax
mov eax, ecx
xor eax, 0x177d6ddc
mov edx, ecx
xor edx, 0xe8829223
add edx, eax
lea eax, [edx + ecx]
add eax, 0x177d6ddd
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0xdc], ecx
movzx ecx, byte [esp + 0x2b]
mov byte [esp + 0xe], cl
movzx ecx, byte [esp + 0x2c]
mov byte [esp + 0xf], cl
movzx ecx, byte [esp + 0x2d]
mov byte [esp + 0x10], cl
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x114]
cmp dword [eax], 0x10
mov eax, dword [esp + 0x118]
jae 0x1004e842
mov eax, dword [esp + 0x110]
jmp 0x1004e844
mov ecx, dword [esp]
cmp ecx, 0x214f52d0
mov ecx, 0xee6fc77e
mov edx, 0x571dc1e5
cmove ecx, edx
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x769628f7
mov ecx, 0x17945cda
mov edx, 0x739a4edb
cmovl ecx, edx
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0xdaab20fe
mov ecx, 0x74615790
mov edx, 0xf427658d
cmovl ecx, edx
jmp 0x1004b7d0
mov ecx, dword [esp]
cmp ecx, 0x35948e1d
mov ecx, 0xee6fc77e
mov edx, 0x401a6dbe
cmove ecx, edx
jmp 0x1004b7d0
mov ecx, dword [ecx]
mov edx, dword [esp + 0x94]
movzx ebx, byte [esp + 0x11]
mov byte [ecx + edx], bl
mov byte [ecx + eax + 0x3c22af72], 0
mov ecx, 0xf7fb35e2
mov eax, 0xac1b2d12
jmp 0x1004b7d0
mov ecx, dword [ecx]
mov edx, dword [esp + 0x98]
movzx ebx, byte [esp + 0x12]
mov byte [ecx + edx], bl
mov byte [ecx + eax + 0x6f626353], 0
mov ecx, 0xf7fb35e2
mov eax, 0x23eec7a6
jmp 0x1004b7d0
mov ecx, dword [ecx]
mov edx, dword [esp + 0x9c]
movzx ebx, byte [esp + 0x13]
mov byte [ecx + edx], bl
mov byte [ecx + eax + 0x3f168da9], 0
mov ecx, 0xf7fb35e2
mov eax, 0x3b302c0a
jmp 0x1004b7d0
mov ecx, dword [ecx]
mov edx, dword [esp + 0xa0]
movzx ebx, byte [esp + 0x2f]
mov byte [ecx + edx], bl
mov byte [ecx + eax + 0x7ee5d120], 0
mov ecx, 0xf7fb35e2
mov eax, 0xc3ec2e90
jmp 0x1004b7d0
mov eax, dword [eax]
mov ecx, dword [esp + 0xdc]
movzx eax, byte [eax + ecx]
mov byte [esp + 8], al
movzx eax, byte [esp + 8]
cmp al, 0x3d
mov eax, 0x5aa6a3c6
mov ecx, 0x189980b8
cmove eax, ecx
movzx ecx, byte [esp + 0x10]
mov byte [esp + 0xd], cl
movzx ecx, byte [esp + 0xf]
mov byte [esp + 0xc], cl
movzx ecx, byte [esp + 0xe]
mov byte [esp + 0xb], cl
mov ecx, 0xf7fb35e2
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x84], edx
jmp 0x1004b7d0
cmp ecx, 0x7dcfbf4f
jne 0x1004b7d0
mov eax, dword [esp + 0x58]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x13c]
xor ecx, esp
call fcn.10050a8a
add esp, 0x140
pop esi
pop edi
pop ebx
pop ebp
ret