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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x124
mov eax, dword [0x10067040]
xor eax, esp
mov dword [esp + 0x120], eax
mov eax, dword [edx + 0x10]
mov dword [esp + 0xb0], eax
lea eax, [esp + 0x11c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
lea eax, [esp + 0x119]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x44]
lea eax, [ecx + 0x14]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
mov eax, dword [esp + 0x4c]
xorps xmm0, xmm0
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov eax, dword [esp + 0x48]
mov dword [eax], 0xf
mov dword [esp + 0xf4], edx
mov dword [esp + 0xf0], edx
lea eax, [edx + 0x14]
mov dword [esp + 0xf8], eax
cmp dword [esp + 0xb0], 0
sete byte [esp + 0x2a]
mov dword [esp + 0x30], ecx
lea eax, [ecx + 0x10]
mov dword [esp + 0x8c], eax
mov ecx, 0x63467617
mov eax, 0xe1a2a2ac
mov dword [esp + 0x64], edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x20], edx
jmp 0x10050330
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x7c]
cmp eax, dword [esp + 0xcc]
mov ecx, 0xc9cb21bc
mov eax, 0xa413b8e7
cmovb ecx, eax
mov eax, 0x9139c880
nop dword [eax]
cmp eax, 0x86208e4
jle 0x100503a0
cmp eax, 0x3e531631
jg 0x10050410
cmp eax, 0x284b644d
jle 0x100504cc
cmp eax, 0x378201ac
jg 0x10050610
cmp eax, 0x32d34653
jle 0x10050aaf
cmp eax, 0x336c5870
jg 0x100516a9
cmp eax, 0x32d34654
je 0x1005200d
cmp eax, 0x32ff2705
jne 0x10050330
mov eax, dword [esp]
cmp eax, 0xa413b8e7
mov eax, 0xd42611a5
mov edx, 0xded641ee
cmovl eax, edx
jmp 0x10050330
cmp eax, 0xcd5500ce
jle 0x10050470
cmp eax, 0xdfb29ecb
jle 0x1005051d
cmp eax, 0xfa8c6c8f
jg 0x10050698
cmp eax, 0xe822ebb8
jle 0x10050aea
cmp eax, 0xebb85faf
jg 0x100516d9
cmp eax, 0xe822ebb9
je 0x10052027
cmp eax, 0xe9a80903
jne 0x10050330
movsx edx, byte [esp + 0x1f]
mov ecx, dword [esp + 0x30]
call fcn.10053290
mov ecx, 0x43ce7fce
mov eax, 0x9139c880
jmp 0x10050330
cmp eax, 0x5a496d9e
jle 0x1005056e
cmp eax, 0x734ad4af
jg 0x10050769
cmp eax, 0x5eb601df
jle 0x10050b25
cmp eax, 0x6d1f259e
jg 0x10051709
cmp eax, 0x5eb601e0
je 0x10052041
cmp eax, 0x682764db
jne 0x10050330
movsx edx, byte [esp + 0xf]
mov ecx, dword [esp + 0x30]
call fcn.10053290
jmp 0x100531e1
cmp eax, 0xa57da61e
jg 0x100505bf
cmp eax, 0x9746a85d
jg 0x100507af
cmp eax, 0x890a6a64
jle 0x10050b50
cmp eax, 0x9139c87f
jg 0x1005179b
cmp eax, 0x890a6a65
je 0x1005205b
cmp eax, 0x8fa0ccd7
jne 0x10050330
mov eax, dword [esp]
cmp eax, 0x63467617
mov eax, 0xd6e8975e
mov edx, 0x20cd7dca
cmovl eax, edx
jmp 0x10050330
cmp eax, 0x18e1587c
jle 0x10050814
cmp eax, 0x20cd7dc9
jle 0x10050b8b
cmp eax, 0x272b8c30
jg 0x100517cb
cmp eax, 0x20cd7dca
je 0x1005208b
cmp eax, 0x215e956e
jne 0x10050330
mov eax, dword [esp]
cmp eax, 0x9ba4fddd
mov eax, 0xde8c842e
mov edx, 0xd9685f8f
cmovl eax, edx
jmp 0x10050330
cmp eax, 0xd5af975d
jle 0x1005085a
cmp eax, 0xd97967bd
jle 0x10050be9
cmp eax, 0xded641ed
jg 0x100517fb
cmp eax, 0xd97967be
je 0x100520a5
cmp eax, 0xde8c842e
jne 0x10050330
mov eax, dword [esp]
cmp eax, 0x9f14e5d1
mov eax, 0xc625c31a
mov edx, 0xca8bfde6
cmovl eax, edx
jmp 0x10050330
cmp eax, 0x46fcb7fb
jle 0x10050a1f
cmp eax, 0x536d6f77
jle 0x10050c24
cmp eax, 0x56c901d6
jg 0x1005182b
cmp eax, 0x536d6f78
je 0x100520bf
cmp eax, 0x547cb6ac
jne 0x10050330
mov eax, dword [esp]
cmp eax, 0x4e9647ef
mov eax, 0x8fa0ccd7
mov edx, 0xdf490b8d
cmovl eax, edx
jmp 0x10050330
cmp eax, 0xc0130bcd
jle 0x10050a69
cmp eax, 0xc233ba62
jle 0x10050c83
cmp eax, 0xca8bfde5
jg 0x10051899
cmp eax, 0xc233ba63
je 0x100520d9
cmp eax, 0xc625c31a
jne 0x10050330
mov eax, dword [esp]
cmp eax, 0x9f14e5d1
mov eax, 0x7eeae031
mov edx, 0xd5af975e
cmove eax, edx
jmp 0x10050330
cmp eax, 0x3a2f0276
jle 0x10050cbe
cmp eax, 0x3c4f1217
jg 0x100518c9
cmp eax, 0x3a2f0277
je 0x1005210f
cmp eax, 0x3aaaff6f
jne 0x10050330
mov eax, 0x10167bbc
mov ecx, dword [0x10167bcc]
mov dword [esp + 0xd4], ecx
cmp dword [0x10167bd0], 0x10
jb 0x1005065c
mov eax, dword [0x10167bbc]
mov dword [esp + 0xd8], eax
cmp dword [esp + 0xd4], 0
sete byte [esp + 0x2b]
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x104], eax
mov eax, 0x9139c880
mov dword [esp + 0x98], 0
mov ecx, 0x3eff2489
jmp 0x10050330
cmp eax, 0x375917d
jle 0x10050d7b
cmp eax, 0x7187cfc
jg 0x100518f9
cmp eax, 0x375917e
je 0x10052129
cmp eax, 0x5f12139
jne 0x10050330
mov eax, dword [esp + 0xe0]
movsx eax, byte [eax]
push dword [esp + 0xd4]
push eax
push dword [esp + 0xe0]
call fcn.100560c0
add esp, 0xc
mov ecx, dword [esp + 0x104]
mov edx, ecx
not edx
and edx, 0xdcfed4a5
or ecx, 0xdcfed4a5
lea esi, [ecx + edx]
add esi, 0x23012b5b
mov edx, esi
xor edx, 0xdcfed4a5
add edx, 1
mov ecx, edx
and ecx, eax
add ecx, eax
xor esi, 0x23012b5a
add esi, ecx
mov ecx, edx
xor ecx, eax
add ecx, esi
or edx, eax
sub ecx, edx
lea edx, [ecx + 0x16d19080]
not edx
mov esi, 0x92e6f7f
sub esi, ecx
and esi, 0x16d1907f
add esi, ecx
add esi, 0x16d19080
and edx, 0xe92e6f80
add edx, esi
test eax, eax
lea eax, [ecx + edx + 2]
mov dword [esp + 0x9c], eax
mov ecx, 0x736c8d47
mov eax, 0x8b16154b
jmp 0x10052758
cmp eax, 0x779199c6
jle 0x10051261
cmp eax, 0x7eeae030
jg 0x10051929
cmp eax, 0x779199c7
je 0x10052143
cmp eax, 0x7889d125
jne 0x10050330
mov eax, dword [esp]
cmp eax, 0xfc510696
mov eax, 0x7eeae031
mov edx, 0x59b9fa42
cmove eax, edx
jmp 0x10050330
cmp eax, 0x98c7e4d9
jle 0x1005129c
cmp eax, 0x9fdf96e4
jg 0x10051fe8
cmp eax, 0x98c7e4da
je 0x1005215d
cmp eax, 0x9a4562ac
jne 0x10050330
mov eax, dword [esp + 0x98]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0xdc]
lea ecx, [esp + 0x11c]
add eax, ecx
mov dword [esp + 0xe0], eax
cmp byte [esp + 0x2b], 0
mov ecx, 0x1010758d
mov eax, 0x8b16154b
jmp 0x10052c9c
cmp eax, 0x1399dc7d
jg 0x100512d7
cmp eax, 0x86208e5
je 0x10052177
cmp eax, 0xb593942
je 0x10052191
cmp eax, 0x105063bf
jne 0x10050330
mov eax, dword [esp]
cmp eax, 0x8b16154b
mov eax, 0x7eeae031
mov edx, 0x317add2a
cmove eax, edx
jmp 0x10050330
cmp eax, 0xd413fa80
jg 0x10051312
cmp eax, 0xcd5500cf
je 0x100521ab
cmp eax, 0xcf792e7b
je 0x100521ea
cmp eax, 0xcfd4702a
jne 0x10050330
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0x9c]
mov byte [eax], cl
mov eax, dword [esp + 0xdc]
mov ecx, eax
not ecx
lea esi, [ecx + ecx]
add esi, 4
mov edi, eax
and edi, 1
mov edx, eax
xor edx, 1
mov ebx, edx
sub ebx, eax
mov ebp, eax
or ebp, 1
add ebp, ebx
lea ebx, [edi + ebp]
add ebx, 0xffffffff
or edi, ebx
and ebx, 0xf4431258
mov ebp, edi
xor ebp, 0xbbceda7
add ebp, ebx
mov ebx, edi
or ebx, 0xf4431258
xor edi, 0xf4431258
add edi, ebp
sub edi, ebx
mov ebx, edi
xor ebx, 0x74431258
mov ebp, edi
or ebp, 0x74431258
add ebp, ebx
not edi
or edi, 0x74431258
add edi, ebp
add edi, 0xbbceda8
not edi
add edi, edi
neg esi
add esi, ecx
add esi, 0x8af42636
mov ebx, esi
or ebx, edi
lea ebx, [edi + ebx*2]
xor esi, edi
not esi
lea ebp, [ebx + esi]
add ebx, esi
add ebx, 2
mov esi, edi
not esi
add esi, ebp
add esi, 2
sub edi, ebx
and edi, 0x8af42633
add edi, esi
or esi, 0x750bd9cc
add esi, edi
mov edi, eax
xor edi, 0xfffffffe
lea ebx, [edx + edi]
add ebx, 1
add edx, edi
mov ebp, ebx
not ebp
and ebp, edi
add edx, ebp
add edx, 1
mov ebp, edi
and ebp, ebx
sub ebp, edx
mov edx, edi
xor edx, ebx
add edx, ebp
or edi, ebx
add edi, edx
lea edx, [edi + edi]
sub edx, edi
lea edi, [esi + edx]
add edx, esi
add edx, 0x750bd9ce
mov esi, eax
and esi, 0x715f499
add esi, ecx
mov ecx, edx
xor ecx, 0xd437b0d4
add ecx, edi
or eax, 0xf8ea0b66
sub esi, eax
lea eax, [edi + edi]
add eax, 0xea17b39c
xor eax, 0x57909e56
add eax, ecx
mov ecx, 0x8af42631
sub ecx, edi
or edx, 0x2bc84f2b
or ecx, 0xd437b0d4
add ecx, edx
sub eax, ecx
lea ecx, [eax + esi]
add eax, esi
add eax, 0x99be3460
mov edx, eax
and edx, 0x2bc84f2b
add ecx, edx
add ecx, 0x99be3460
or eax, 0xd437b0d4
sub ecx, eax
imul eax, ecx, 0xae1378f9
add eax, 0x7994bc68
mov ecx, eax
not ecx
and eax, 0x250c22b3
or ecx, 0x250c22b3
sub ecx, eax
imul eax, ecx, 0x4d1036b7
add eax, 0x4d1036b7
mov dword [esp + 0x98], eax
cmp eax, dword [esp + 0x58]
mov ecx, 0x3eff2489
mov eax, 0x9ba4fddd
jmp 0x10052758
cmp eax, 0x4349e71d
jg 0x1005134d
cmp eax, 0x3e531632
je 0x10052204
cmp eax, 0x421b38ff
je 0x1005221e
cmp eax, 0x43347964
jne 0x10050330
mov eax, 0x9139c880
mov dword [esp + 0x90], 0xffffffff
mov ecx, 0xd35412d3
mov edx, dword [esp + 0x64]
jmp 0x10051fcf
cmp eax, 0xabf073d9
jg 0x1005166e
cmp eax, 0xa57da61f
je 0x10052238
cmp eax, 0xa9924389
je 0x10052252
cmp eax, 0xab08ae63
jne 0x10050330
mov eax, dword [esp]
cmp eax, 0xe4111cf4
mov eax, 0x7eeae031
mov edx, 0xc233ba63
cmove eax, edx
jmp 0x10050330
cmp eax, 0x284b644e
je 0x1005226c
cmp eax, 0x2bca5918
je 0x10052286
cmp eax, 0x317add2a
jne 0x10050330
mov dword [esp + 0x9c], 0xffffffff
mov ecx, 0x736c8d47
mov eax, 0x9139c880
jmp 0x10050330
cmp eax, 0xdfb29ecc
je 0x10052647
cmp eax, 0xe1a2a2ac
je 0x10052661
cmp eax, 0xe5412397
jne 0x10050330
mov eax, dword [esp]
cmp eax, 0x3dcfcfd1
mov eax, 0x14b501d1
mov edx, 0x76f828ff
cmovl eax, edx
jmp 0x10050330
cmp eax, 0x5a496d9f
je 0x1005266e
cmp eax, 0x5b2e4f1d
je 0x10052765
cmp eax, 0x5bf6e1c6
jne 0x10050330
mov eax, 0x9139c880
jmp 0x10050330
cmp eax, 0x842c1b62
je 0x1005277f
cmp eax, 0x8749692d
je 0x10052799
cmp eax, 0x87819203
jne 0x10050330
mov eax, dword [esp]
cmp eax, 0xc89f813e
mov eax, 0x7eeae031
mov edx, 0x7f76cca9
cmove eax, edx
jmp 0x10050330
cmp eax, 0x18e1587d
je 0x100527b3
cmp eax, 0x1bdcce16
je 0x100527cd
cmp eax, 0x2060045a
jne 0x10050330
mov eax, 0x10167bbc
mov ecx, dword [0x10167bcc]
mov dword [esp + 0x50], ecx
cmp dword [0x10167bd0], 0x10
jb 0x10050bc9
mov eax, dword [0x10167bbc]
mov dword [esp + 0x54], eax
cmp dword [esp + 0x50], 0
mov eax, dword [esp + 0x54]
mov dword [esp + 0x60], eax
mov ecx, 0xc89f813e
mov eax, 0xe4111cf4
jmp 0x10052758
cmp eax, 0xd5af975e
je 0x100527e7
cmp eax, 0xd6e8975e
je 0x10052831
cmp eax, 0xd9685f8f
jne 0x10050330
mov eax, dword [esp]
cmp eax, 0x8b16154b
mov eax, 0x105063bf
mov edx, 0xc20cf4d6
cmovl eax, edx
jmp 0x10050330
cmp eax, 0x46fcb7fc
je 0x1005284b
cmp eax, 0x48882245
je 0x10052867
cmp eax, 0x5281d8ab
jne 0x10050330
mov eax, dword [esp + 0x68]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x44]
movzx ecx, byte [esp + 7]
mov byte [eax], cl
mov eax, dword [esp + 0xb4]
movzx ecx, byte [esp + 8]
mov byte [eax], cl
mov eax, dword [esp + 0xbc]
movzx ecx, byte [esp + 9]
mov byte [eax], cl
cmp dword [esp + 0x58], 0
mov ecx, 0x9c1534e
jmp 0x10052753
cmp eax, 0xc0130bce
je 0x10052881
cmp eax, 0xc1c8d3d1
je 0x10052947
cmp eax, 0xc20cf4d6
jne 0x10050330
mov eax, dword [esp]
cmp eax, 0x86941e16
mov eax, 0x7eeae031
mov edx, 0xcd5500cf
cmove eax, edx
jmp 0x10050330
cmp eax, 0x378201ad
je 0x1005295a
cmp eax, 0x37a5efd5
je 0x100502f1
cmp eax, 0x38ca60d8
jne 0x10050330
imul eax, dword [esp + 0x78], 0xe14e1475
add eax, 0xe14e1475
mov ecx, eax
xor ecx, 0x584ad58b
and eax, 0xd84ad58b
lea eax, [ecx + eax*2]
mov ecx, eax
not ecx
mov edx, eax
or edx, 0xac291add
add edx, eax
xor eax, 0x53d6e522
add eax, edx
or ecx, 0x53d6e522
lea edx, [eax + ecx]
add eax, ecx
add eax, 0xac291adf
mov ecx, eax
xor ecx, 0x584ad58b
add ecx, edx
xor eax, 0xa7b52a74
add eax, ecx
imul ecx, eax, 0x7b01bdd
lea eax, [ecx - 0x728b81f3]
and eax, 0x87be8037
mov edx, 0x728b81f2
sub edx, ecx
or edx, 0x87be8037
sub eax, edx
lea ecx, [eax - 0x30142c76]
mov edx, dword [esp + 0x3c]
mov dword [edx], ecx
mov edx, dword [esp + 0xc8]
mov ecx, dword [esp + 0x74]
cmp edx, 0x10
jae 0x10053183
mov ecx, dword [esp + 0x4c]
jmp 0x10053185
cmp eax, 0xfa8c6c90
je 0x10052993
cmp eax, 0xfae00a08
je 0x10052a06
cmp eax, 0x11937a5
jne 0x10050330
mov eax, dword [esp + 0x34]
movzx ecx, byte [eax]
mov eax, ecx
shl al, 2
mov ch, byte [esp + 0x11d]
mov byte [esp + 0x10], ch
shr ch, 4
mov dl, ch
and dl, 0xc
mov ah, ch
add ah, ch
xor ah, 8
add ah, dl
mov dh, ch
or dh, 0xc
sub ah, dh
and ah, ch
mov bl, ah
add bl, 0x5f
mov bh, bl
xor bh, 0x5f
add bh, ah
mov dh, bl
or dh, 0x5f
or bl, 0xa0
add bl, bh
sub dh, bl
add dh, 0xa0
mov ah, dl
neg ah
mov ebx, edx
sub bl, dh
mov bh, dh
or bh, ah
add bh, bl
add bh, dl
and ah, dh
not dh
add dh, bh
add ah, dh
not ch
mov dh, ch
or dh, 0xfc
sub dh, ch
mov ch, dh
add ch, 3
mov dl, 0xfc
sub dl, dh
mov ebx, edx
and bl, 0x29
mov bh, ch
and bh, 0x29
sub bl, bh
mov bh, dl
not bh
and bh, 0xd6
add bh, bl
xor dl, 0x29
add dl, bh
add dl, 0x2a
mov bl, ch
and bl, 0xd6
sub bl, dh
mov dh, ch
xor dh, 0xd6
add dh, bl
add ch, ch
and ch, 0xac
add ch, dh
add ch, 0x27
mov dh, dl
or dh, ch
add dh, dh
mov ebx, edx
xor bl, ch
not bl
add bl, dh
and ch, dl
not ch
add ch, bl
add ch, 2
mov dl, ch
add dl, ch
xor dl, 0xac
xor ch, 0x29
add ch, dl
mov dh, ch
add dh, 1
mov dl, 0xb0
sub dl, ah
add ah, 0x4f
and ah, dh
or dl, dh
add dh, dh
add dh, ah
add dl, ch
sub dl, dh
mov ah, 0xaf
sub ah, dl
add dl, 0x50
mov ch, dl
not ch
mov dh, dl
and dh, 3
and ah, 0xfc
or ah, dh
or dl, 3
add dl, ah
or ch, 3
sub ch, dl
add ch, 0xf1
mov ah, ch
and ah, 0x12
add ah, ch
or ch, 0xed
sub ah, ch
mov dh, ah
not dh
mov ch, al
not ch
add ch, ch
add ch, al
or ch, 1
mov dl, ch
and dl, dh
sub dl, ch
mov bl, ah
or bl, ch
or ch, dh
add ch, dl
add ch, bl
mov bl, 0xfe
sub bl, ch
and dh, 0x42
add dh, ah
mov bh, ah
or bh, al
shl cl, 3
mov dl, cl
xor dl, 0xfe
add dl, cl
mov cl, al
or cl, 0x97
or al, 0x68
add al, cl
sub dl, al
or dl, ah
or ah, 0xbd
add ah, dh
mov al, 0xbc
sub al, ah
add ah, 0x43
and al, bl
add al, ah
add al, bl
add ch, 1
or ch, ah
add ch, al
mov cl, ch
add cl, 1
mov eax, ecx
xor al, 0x42
add al, ch
xor cl, 0xbd
add cl, al
mov al, bh
not al
mov ah, al
add ah, al
add ah, bh
add ah, 1
mov ch, ah
and ch, 0xdf
mov dh, ah
and dh, 0x20
mov bl, ch
sub bl, dh
mov dh, ah
add dh, ah
or dh, 0x40
add dh, bl
xor ah, 0xdf
add ah, dh
add ah, 0xe2
mov dh, ch
not dh
add dh, ah
and bh, 0x20
mov bl, al
and bl, 0xdf
or bl, bh
or al, 0x20
sub bl, al
add bl, 0x20
mov al, bl
sub al, dh
mov bh, dh
xor bh, bl
add al, bh
or dh, bl
add dh, al
add cl, 0xc0
not bh
add bh, bh
add bh, dh
sub ch, ah
or ch, bl
add ch, ch
sub bh, ch
mov al, bh
xor al, 0xdf
add al, 1
mov ah, cl
not ah
and ah, al
or al, cl
add cl, cl
add ah, cl
xor bh, 0x20
add bh, ah
add dl, al
sub bh, dl
movzx eax, bh
imul eax, eax, 0xffffffa7
mov ecx, eax
and cl, 0xc
mov edx, eax
and dl, 0xf3
sub dl, cl
add dl, al
xor al, 0xf3
add al, dl
movzx eax, al
lea ecx, [eax + eax*2]
shl ecx, 3
sub ecx, eax
mov eax, ecx
add al, 0xbf
mov dl, 0x40
sub dl, cl
and dl, 0x6c
add dl, al
not al
and al, 0x93
add al, dl
add al, cl
add al, 0x2c
mov byte [esp + 0x1e], al
mov eax, dword [esp + 0x44]
movzx ecx, byte [esp + 0x1e]
mov byte [eax], cl
mov ah, byte [esp + 0x11e]
shr ah, 2
mov ch, ah
and ch, 0xf
mov dl, ah
add dl, ah
mov al, dl
not al
and al, 0x1e
add al, ch
mov cl, dl
or cl, 0xe0
add cl, al
mov al, 0xfd
sub al, cl
mov bl, ch
xor bl, 0xf
mov dh, ah
xor dh, 0xf
add bl, dh
add bl, ch
mov cl, 0xe
sub cl, bl
and cl, al
sub dh, ah
and dl, 0x60
or dl, ch
sub dl, ah
or ah, 0xf0
add ah, dh
add ah, 0x10
or dl, ah
mov dh, dl
not dh
mov eax, edx
xor al, 0x98
mov ch, dl
xor ch, 0x67
add ch, al
mov al, dh
or al, 0x67
add al, dl
sub ch, al
and dl, 0x98
mov ah, dh
and ah, 0x67
or ah, dl
neg cl
add ch, 0x67
or dh, 0x98
sub ah, dh
add ah, 0x98
mov al, ch
xor al, ah
add al, ah
not ah
or ah, ch
add ah, al
add ah, 1
xor ah, 0x98
mov al, cl
xor al, 0xb4
add cl, cl
and cl, 0x68
add cl, al
add cl, 0x98
mov al, cl
add al, ah
mov edx, ecx
or dl, ah
add dl, al
mov al, cl
xor al, ah
not al
add al, dl
and cl, ah
not cl
add cl, al
mov eax, ecx
add al, 2
mov edx, eax
xor dl, 0xb4
add dl, cl
xor al, 0x4b
add al, dl
movzx ecx, al
mov eax, ecx
shl eax, 4
sub ecx, eax
mov al, 0xd7
sub al, cl
add cl, 0x28
and cl, 0xd0
or al, 0xd0
sub cl, al
movzx eax, cl
mov ecx, eax
shl ecx, 4
add ecx, eax
mov al, 0x57
sub al, cl
add cl, 0x28
mov edx, ecx
and dl, 0xcf
and al, 0x30
or al, dl
mov edx, ecx
or dl, 0xcf
add dl, al
and cl, 0x30
add cl, dl
add cl, 0x31
mov edx, ecx
not dl
mov eax, edx
and al, 0xa6
add al, cl
and dl, 0x59
add dl, al
mov ah, byte [esp + 0x10]
shl ah, 4
add dl, cl
mov al, dl
add al, 0xa7
mov cl, ah
not cl
xor ah, cl
and ah, al
xor ah, cl
and cl, al
add cl, ah
sub dl, cl
movzx eax, dl
imul eax, eax, 0x6d
add al, 0xae
mov ecx, eax
and cl, 0x37
add cl, al
mov edx, eax
not dl
add dl, cl
and al, 0xc8
add al, dl
movzx eax, al
imul eax, eax, 0xffffff9b
add al, 0x83
mov ecx, eax
not cl
mov edx, ecx
and dl, 0x18
add dl, al
xor al, 0xe7
add al, dl
or cl, 0x18
sub cl, al
add cl, 0xe8
mov byte [esp + 0x11a], cl
mov eax, dword [esp + 0x58]
mov ecx, eax
neg ecx
mov edx, ecx
and edx, 0x119ea3ca
add edx, eax
or ecx, 0xee615c35
sub ecx, edx
mov edx, ecx
and edx, 0xee615c35
mov esi, ecx
and esi, 0x119ea3ca
sub edx, esi
add edx, ecx
xor ecx, 0xee615c35
mov edi, 0xe550d928
sub edi, edx
sub edi, ecx
add ecx, edx
add ecx, 0x1aaf26d7
and edi, eax
mov edx, ecx
sub edx, edi
lea edx, [edx + eax*2]
mov esi, eax
not esi
add edx, esi
or ecx, esi
sub edx, ecx
lea ecx, [eax + esi*2]
add ecx, 1
or ecx, eax
add ecx, edx
add eax, 1
lea edx, [ecx + ecx]
add edx, 0x111c417c
mov esi, edx
not esi
and esi, 0x4503b104
add ecx, esi
add ecx, 0x88e20be
or edx, 0xbafc4efa
lea esi, [ecx + edx]
add ecx, edx
add ecx, 0xdd7e2780
mov edx, 0x2281d87f
sub edx, esi
and edx, eax
add edx, esi
add edx, 0xdd7e2780
and ecx, eax
add ecx, edx
mov edx, ecx
and edx, 0x2281d882
add edx, ecx
mov eax, ecx
xor eax, 0x2281d882
add eax, edx
or ecx, 0x2281d882
sub eax, ecx
add eax, 0x85211bfc
mov ecx, eax
mov edx, eax
lea esi, [eax + eax*2]
not eax
and ecx, 0x1d60bc86
and edx, 0x629f4379
lea ecx, [edx + ecx*2]
sub esi, ecx
and eax, 0x629f4379
add eax, esi
add eax, 0x3ac1790d
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x58]
cmp eax, 2
mov ecx, 0x6e68b46c
mov eax, 0x9f14e5d1
cmovge ecx, eax
mov eax, 0x9139c880
jmp 0x10050330
cmp eax, 0x734ad4b0
je 0x10052c73
cmp eax, 0x7513d63c
je 0x10052c8d
cmp eax, 0x76f828ff
jne 0x10050330
mov eax, dword [esp]
cmp eax, 0x31fe9ac7
mov eax, 0x7eeae031
mov edx, 0x3aaaff6f
cmove eax, edx
jmp 0x10050330
cmp eax, 0x9746a85e
je 0x10052ca9
cmp eax, 0x974a4067
je 0x10052cc3
cmp eax, 0x97d0a0c7
jne 0x10050330
mov eax, dword [esp]
cmp eax, 0x68ac1b4a
mov eax, 0x48882245
mov edx, 0x547cb6ac
cmovl eax, edx
jmp 0x10050330
cmp eax, 0x1399dc7e
je 0x10052cdd
cmp eax, 0x14b501d1
je 0x10052cf7
cmp eax, 0x186b8e41
jne 0x10050330
mov eax, dword [esp]
cmp eax, 0x1010758d
mov eax, 0x7eeae031
mov edx, 0x5f12139
cmove eax, edx
jmp 0x10050330
cmp eax, 0xd413fa81
je 0x10052d11
cmp eax, 0xd42611a5
je 0x10052d2b
cmp eax, 0xd599b9a1
jne 0x10050330
mov eax, dword [esp]
cmp eax, 0xd3c72a93
mov eax, 0x974a4067
mov edx, 0x44d93cec
cmovl eax, edx
jmp 0x10050330
cmp eax, 0x4349e71e
je 0x10052d45
cmp eax, 0x44d93cec
je 0x10052d5f
cmp eax, 0x458f5433
jne 0x10050330
mov eax, dword [esp + 0x5c]
mov edx, eax
and edx, 1
add edx, eax
mov ecx, eax
mov dword [esp + 0x10], eax
not ecx
mov esi, 0xa8fa85c
sub esi, edx
sub esi, ecx
add edx, ecx
add edx, 0x57057a3
and edx, 0xa8fa85d
mov ebx, esi
and ebx, 0xa8fa85d
add ebx, edx
lea edx, [eax + eax]
mov edi, edx
and edi, 2
mov ebp, ecx
or ebp, 1
add ebp, edi
lea eax, [ecx + ecx]
mov edi, eax
or edi, 0xfffffffc
add edi, ebp
add edi, ebx
mov ebx, esi
sub ebx, edi
neg edi
add esi, edi
add esi, 0x7aa48084
mov edi, esi
xor edi, 0x855b7f79
add edi, ebx
mov ebx, esi
or ebx, 0x855b7f79
sub edi, ebx
or esi, 0x7aa48086
add esi, edi
mov edi, dword [esp + 0x10]
lea ebx, [edi + esi]
add ebx, 0x56c919a9
add esi, edi
not ebx
mov edi, 0x7aa4808a
sub edi, esi
and edi, 2
add edi, esi
add edi, 0x56c919a9
and ebx, 0xfffffffd
add ebx, edi
lea edi, [esi + ebx]
lea ebp, [esi + ebx]
add ebp, 0x56c919ac
mov esi, ebp
not esi
mov ebx, esi
and ebx, 0x2e9265cd
add ebx, edi
add ebx, 0x56c919ac
add ebx, ebp
or esi, 0x2e9265cd
mov ebp, 0x6c82f0ee
sub ebp, ebx
sub ebp, esi
and ecx, 0x5cc4a9e3
and eax, 0x4676ac38
sub eax, ecx
xor edx, 0xb98953c6
add edx, eax
mov eax, dword [esp + 0x10]
add eax, ecx
add eax, 0xa33b561d
mov ecx, 0x4676ac37
sub ecx, edx
and ecx, eax
lea eax, [ecx + edx]
add ecx, edx
add ecx, 0xb98953c8
mov edx, ecx
xor edx, 0xa33b561d
or ecx, 0x5cc4a9e2
add ecx, edx
mov edx, 0x4676ac37
sub edx, eax
or edx, 0x5cc4a9e2
lea eax, [ecx + edx]
add ecx, edx
add ecx, 0xa33b5620
lea edx, [esi + ebx]
add edx, 0x937d0f11
and ebp, ecx
mov esi, edx
sub esi, ebp
lea eax, [esi + eax*2]
add eax, 0x4676ac40
mov esi, edx
or esi, ecx
not esi
add esi, eax
xor edx, ecx
lea eax, [edx + esi]
add eax, 1
mov ecx, eax
xor ecx, 0x6c82f0f1
and eax, 0xec82f0f1
lea eax, [ecx + eax*2]
imul eax, eax, 0xf57d0887
mov ecx, eax
xor ecx, 0x3002beeb
add ecx, eax
xor eax, 0xcffd4114
add eax, ecx
mov ecx, dword [esp + 0x5c]
movzx edx, byte [esp + 6]
mov byte [esp + ecx + 0x11c], dl
mov ecx, dword [esp + 0xc0]
mov esi, ecx
neg esi
mov edx, ecx
not edx
mov edi, 1
sub edi, ecx
mov ebx, ecx
sub ebx, edi
and ebx, edx
sub edi, ecx
lea edx, [ebx + edi]
add edx, 1
and edx, 1
lea edi, [edx - 1]
and edi, esi
add edi, ecx
lea ebx, [ecx + edx]
neg edx
sub ebx, edi
and edx, esi
mov esi, edx
not esi
add esi, ebx
add esi, 1
add ebx, 1
sub edx, ebx
mov edi, edx
and edi, 0xd029b742
add edi, esi
xor esi, 0x2fd648bd
add esi, edi
or edx, 0xd029b742
sub esi, edx
lea edx, [esi - 0x2fd648bd]
add esi, esi
add esi, 0xa0536e86
or esi, 0xa0536e84
xor edx, 0x2fd648bd
lea edi, [esi + edx]
add edx, esi
add edx, 0x5fac917d
mov esi, 0xe0536e82
sub esi, edi
and esi, 0x1ac27527
add esi, edi
add esi, 0x5fac917d
or edx, 0xe53d8ad8
lea edi, [esi + edx]
add edx, esi
add edx, 0x1ac27528
mov esi, edx
xor esi, 0xfffffffe
add esi, edi
xor edx, 1
add edx, esi
and ecx, 1
mov esi, ecx
not esi
lea edi, [ecx + esi*2]
lea ecx, [ecx + esi*2]
add ecx, 1
lea esi, [edi + edi]
add esi, 3
mov ebx, ecx
sub ebx, esi
sub esi, ecx
not ecx
lea ecx, [ecx + edi*2]
add ecx, 3
lea ecx, [ecx + ebx*2]
lea esi, [ecx + esi*2]
mov ecx, edx
or ecx, esi
not ecx
add ecx, edx
not edx
or edx, esi
sub ecx, edx
lea edx, [ecx - 0x4a72bb13]
mov edi, edx
xor edi, 0xdf9ef633
add edi, ecx
lea esi, [ecx + ecx]
add esi, 0x6b1a89da
xor esi, 0x40c21398
add esi, edi
mov edi, 0xa72bb12
sub edi, ecx
imul eax, eax, 0x5cd3d37
add eax, 0x5cd3d37
or edx, 0x206109cc
or edi, 0xdf9ef633
add edi, edx
sub esi, edi
mov dword [esp + 0x100], esi
mov dword [esp + 0x94], eax
cmp eax, 4
mov ecx, 0xc369316a
mov eax, 0xdf7c06b8
cmove ecx, eax
movzx eax, byte [esp + 0xc]
mov byte [esp + 0x19], al
movzx eax, byte [esp + 0xb]
mov byte [esp + 0x18], al
mov eax, 0x9139c880
movzx edx, byte [esp + 0xa]
mov byte [esp + 0x17], dl
jmp 0x10050330
cmp eax, 0xabf073da
je 0x10052d79
cmp eax, 0xbaa718a5
je 0x10052d93
cmp eax, 0xbe87400b
jne 0x10050330
mov eax, dword [esp]
cmp eax, 0xac002ed1
mov eax, 0xa57da61f
mov edx, 0x32ff2705
cmovl eax, edx
jmp 0x10050330
cmp eax, 0x336c5871
je 0x10052dad
cmp eax, 0x36ad7365
jne 0x10050330
mov eax, dword [esp]
cmp eax, 0x31fe9ac7
mov eax, 0xe5412397
mov edx, 0x7ab5dd9
cmovl eax, edx
jmp 0x10050330
cmp eax, 0xebb85fb0
je 0x10052ed1
cmp eax, 0xecaad2d5
jne 0x10050330
mov eax, dword [esp]
cmp eax, 0xd029892a
mov eax, 0xabf073da
mov edx, 0x842c1b62
cmovl eax, edx
jmp 0x10050330
cmp eax, 0x6d1f259f
je 0x10052eeb
cmp eax, 0x7191dc87
jne 0x10050330
mov eax, dword [esp + 0x84]
imul ecx, eax, 0x4bc014cf
imul eax, eax, 0x9780299e
add eax, 0x9e88d51c
mov edx, eax
xor edx, 0x87f08948
add edx, ecx
xor eax, 0x780f76b6
add eax, edx
imul eax, eax, 0x9808722f
lea ecx, [eax - 0x763d2fec]
mov edx, 0x763d2feb
sub edx, eax
and edx, 0x59b1ebb5
and ecx, 0x59b1ebb5
add ecx, edx
neg ecx
add eax, ecx
add eax, 0x89c2d014
mov ecx, dword [esp + 0xe8]
mov dword [ecx], eax
mov edx, dword [esp + 0xec]
mov ecx, dword [esp + 0x10c]
cmp edx, 0x10
jae 0x100531a8
mov ecx, dword [esp + 0x4c]
jmp 0x100531aa
cmp eax, 0x9139c880
je 0x10052efe
cmp eax, 0x935c8e44
jne 0x10050330
mov eax, dword [esp]
cmp eax, 0x1010758d
mov eax, 0x734ad4b0
mov edx, 0xebb85fb0
cmovl eax, edx
jmp 0x10050330
cmp eax, 0x272b8c31
je 0x10052f08
cmp eax, 0x282fa4f4
jne 0x10050330
mov eax, dword [esp]
cmp eax, 0xc9cb21bc
mov eax, 0x7eeae031
mov edx, 0x6d1f259f
cmove eax, edx
jmp 0x10050330
cmp eax, 0xded641ee
je 0x1005309f
cmp eax, 0xdf490b8d
jne 0x10050330
mov eax, dword [esp]
cmp eax, 0x43ce7fce
mov eax, 0xd413fa81
mov edx, 0x1399dc7e
cmovl eax, edx
jmp 0x10050330
cmp eax, 0x56c901d7
je 0x100530b9
cmp eax, 0x59b9fa42
jne 0x10050330
mov eax, dword [esp + 0xac]
mov dword [esp + 0x110], eax
movzx eax, byte [esp + 0x1a]
mov byte [esp + 0x1f], al
mov eax, dword [esp + 0xe4]
mov eax, dword [esp + 0xe8]
mov eax, dword [eax]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x84]
cmp eax, dword [esp + 0xec]
mov ecx, 0x3dcfcfd1
mov eax, 0xac002ed1
jmp 0x10050325
cmp eax, 0xca8bfde6
je 0x100530d3
cmp eax, 0xcb9674e4
jne 0x10050330
mov eax, dword [esp]
cmp eax, 0x6e68b46c
mov eax, 0x7eeae031
mov edx, 0x9fdf96e5
cmove eax, edx
jmp 0x10050330
cmp eax, 0x3c4f1218
je 0x100530ed
cmp eax, 0x3db5f36b
jne 0x10050330
mov eax, dword [esp]
cmp eax, 0xe4111cf4
mov eax, 0xe822ebb9
mov edx, 0x56c901d7
cmovl eax, edx
jmp 0x10050330
cmp eax, 0x7187cfd
je 0x10053107
cmp eax, 0x7ab5dd9
jne 0x10050330
mov eax, dword [esp]
cmp eax, 0x1d8fa668
mov eax, 0x7eeae031
mov edx, 0xc0130bce
cmove eax, edx
jmp 0x10050330
cmp eax, 0x7eeae031
je 0x10053179
cmp eax, 0x7f76cca9
jne 0x10050330
mov eax, dword [esp + 0x34]
movsx eax, byte [eax]
push dword [esp + 0x50]
push eax
push dword [esp + 0x5c]
call fcn.100560c0
add esp, 0xc
mov edx, dword [esp + 0x60]
mov ecx, eax
not ecx
lea esi, [eax + ecx*2]
add esi, 1
mov edi, esi
and edi, 0x598d830b
mov ebx, eax
mov dword [esp + 0x2c], eax
and ebx, 0xa6727cf4
lea ebp, [edi + ebx]
lea edi, [edi + ebx*2]
sub edi, ebp
sub edi, ebp
xor ebp, 0x598d830b
add ebp, edi
or esi, 0x26727cf4
add esi, ebp
mov edi, 0x26727cf3
sub edi, esi
and edi, edx
mov ebx, eax
neg ebx
lea esi, [edi + edi]
neg esi
mov ebp, esi
or ebp, ebx
add ebp, eax
lea ebp, [ebp + edi*4]
xor esi, ebx
not esi
add esi, ebp
add edi, edi
add edi, 0xffffffff
or edi, ebx
sub esi, edi
mov edi, esi
xor edi, 0x98ba87b4
and esi, 0x18ba87b4
lea esi, [edi + esi*2]
add esi, 0xce8af098
mov ebx, esi
sub ebx, edx
mov edi, edx
neg edi
mov ebp, esi
or ebp, edi
add ebp, ebx
mov ebx, esi
xor ebx, edi
not ebx
add ebx, ebp
mov ebp, edx
and edi, esi
not edi
lea esi, [ebx + edi]
lea eax, [edi + ebx]
add eax, 2
mov ebx, eax
xor ebx, 0x98ba87b4
add ebx, esi
xor eax, 0x6745784b
lea esi, [ebx + eax]
mov dword [esp + 0x20], esi
lea edi, [eax + ebx]
add edi, 0x98ba87b7
mov esi, ecx
or ebp, ecx
and esi, edx
mov ebx, edx
not ebx
and ecx, ebx
mov eax, dword [esp + 0x2c]
or edx, eax
add edx, ecx
sub edx, ebp
xor ebx, eax
add ebx, ecx
add esi, ebx
lea ebp, [eax + esi]
add ebp, 1
mov ebx, eax
or ebp, edx
lea ecx, [ebp - 1]
add ecx, ebp
and ecx, edi
mov eax, dword [esp + 0x20]
add ecx, eax
add ecx, 0x98ba87b7
mov eax, ebp
add eax, ebp
neg eax
or eax, edi
sub ecx, eax
mov eax, ecx
and eax, 1
add eax, ecx
not ecx
and ecx, 1
add ecx, eax
imul eax, ecx, 0xe23e5eff
add eax, 0xe23e5eff
mov ecx, eax
and ecx, 0xcec966cb
mov edx, eax
or edx, 0x31369934
add edx, ecx
xor eax, 0xcec966cb
add eax, edx
add eax, 0xcfe9337
mov ecx, eax
or ecx, 0x31369934
and eax, 0x31369934
add eax, ecx
imul edx, eax, 0xd780a0ff
mov ecx, edx
not ecx
imul eax, eax, 0xaf0141fe
and ecx, 0x63
add ecx, eax
or edx, 0x63
sub ecx, edx
add cl, 0x6a
cmp ebx, 1
sbb edx, edx
or dl, cl
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x34]
mov byte [eax], dl
mov eax, dword [esp + 0x6c]
movsx eax, byte [eax]
push dword [esp + 0x50]
push eax
push dword [esp + 0x5c]
call fcn.100560c0
add esp, 0xc
mov ecx, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x60]
lea edx, [ecx + ecx]
or edx, 0x7f49020a
add edx, ecx
mov esi, ecx
xor esi, 0xc05b7efa
lea edi, [edx + esi]
add edx, esi
add edx, 2
mov ebx, ecx
not ebx
lea esi, [ebx + edi]
add esi, 2
mov edi, ecx
sub edi, edx
lea edx, [ecx + ebx*2]
add edx, 1
and edx, 0x1f46971e
and ecx, 0xe0b968e1
or ecx, edx
xor ecx, 0x1f46971e
mov dword [esp + 0x20], eax
mov edx, eax
not edx
mov ebp, ecx
and ebp, edx
mov ebx, ecx
and ebx, eax
sub ebp, ebx
add ebp, eax
mov ebx, ecx
xor ebx, edx
add ebx, ebp
or ecx, edx
lea ebp, [ebx + ecx]
lea eax, [ecx + ebx]
add eax, 1
and edi, 0xc05b7efb
add edi, esi
or esi, 0x3fa48104
lea ebx, [edi + esi]
add edi, esi
add edi, 0x4c09de31
mov esi, eax
not esi
lea ebp, [esi + ebp*2]
add ebp, 2
sub ebp, eax
lea ecx, [esi + ebp]
add ecx, 1
add ebp, 1
sub eax, ebp
and eax, edi
add eax, ebx
add eax, 0x4c09de31
mov esi, 0xb3f621ce
sub esi, ebx
and esi, ecx
add esi, eax
add esi, ecx
xor edi, ecx
sub esi, edi
mov eax, esi
not eax
mov edi, eax
and edi, 0x8bae5f34
add edi, esi
or eax, 0x7451a0cb
mov ebx, dword [esp + 0x20]
add eax, ebx
sub edi, eax
lea esi, [edi - 0x175cbe6a]
mov eax, edx
and eax, 0xd5bdf4a3
mov ecx, ebx
xor ecx, 0x2a420b5c
add ecx, eax
lea ebp, [ebx + ebx]
xor ebp, 0xab7be946
add ebp, ecx
or edx, 0x2a420b5c
mov eax, ebx
or eax, 0xd5bdf4a3
add eax, edx
sub ebp, eax
mov eax, ebx
and eax, 0x2a420b5c
mov ebx, eax
not ebx
and ebx, ebp
add ebx, eax
mov edx, ebx
xor edx, 0xd5bdf4a3
mov ebp, 0xfffffffe
sub ebp, edx
add edx, 1
xor edx, esi
and esi, ebp
add esi, esi
neg esi
lea eax, [edi + esi]
add eax, 0xe8a34196
xor ebx, 0x2a420b5c
add ebx, eax
add edx, ebx
add edx, ebp
add edx, edi
lea eax, [edx + edx]
add eax, 0xd146832e
mov ecx, eax
xor ecx, 0x606e85de
add ecx, edx
add ecx, 0xe8a34197
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
and edx, esi
xor eax, 0x9f917a20
add eax, ecx
add eax, edx
imul ecx, eax, 0x871400a1
imul eax, eax, 0xf1d7febe
add eax, 0xf86c3206
and eax, 0xa453bca0
add eax, ecx
add eax, 0x83c9e6fc
add ecx, ecx
add ecx, 0x793cdf8
or ecx, 0x5bac435e
add ecx, eax
imul eax, ecx, 0xdebde361
lea edx, [eax - 0x7f760cee]
mov ecx, edx
and ecx, 0x71
add eax, ecx
add eax, 0x8089f312
mov ecx, edx
xor ecx, 0x71
add ecx, eax
or edx, 0x71
sub ecx, edx
add cl, 0x37
cmp esi, 1
sbb edx, edx
or dl, cl
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x6c]
mov byte [eax], dl
mov eax, dword [esp + 0x70]
movsx eax, byte [eax]
push dword [esp + 0x50]
push eax
push dword [esp + 0x5c]
call fcn.100560c0
add esp, 0xc
mov dword [esp + 0x24], eax
mov ebx, dword [esp + 0x60]
mov edx, eax
not edx
mov ecx, ebx
not ecx
mov dword [esp + 0x10], ecx
mov edi, eax
and edi, ecx
mov esi, edx
or esi, ecx
add esi, edi
mov ecx, ebx
and ecx, eax
mov dword [esp + 0x40], ecx
add esi, ecx
mov ebp, esi
not ebp
add ebp, eax
mov ecx, ebp
and ecx, 0x70a6b5d4
add ecx, ecx
mov edi, eax
sub edi, esi
sub esi, eax
and esi, 0xf0a6b5d4
add esi, esi
sub esi, ecx
add esi, ebp
add ebp, ebp
xor ebp, 0x1eb29456
add ebp, esi
lea eax, [edi*2]
add eax, ebp
lea esi, [edi*2 + 0x70a6b5d4]
add esi, ebp
mov edi, esi
and esi, 0x70a6b5d3
add eax, esi
add eax, 0x70a6b5d4
not edi
and edi, 0x70a6b5d3
add edi, eax
mov eax, dword [esp + 0x24]
lea esi, [eax + edi]
add esi, 0x1eb29459
add edi, eax
mov ecx, eax
mov eax, esi
or eax, 0x72f883f9
add eax, edi
mov edi, esi
xor esi, 0x8d077c06
add esi, eax
not edi
or edi, 0x8d077c06
lea eax, [esi + edi]
add edi, esi
add edi, 0xabba1062
mov esi, ebx
neg esi
xor edi, esi
lea esi, [edi + eax]
add esi, 0xabba1062
add edi, ebx
sub esi, edi
mov eax, ecx
and eax, 0x8479c233
mov edi, eax
xor edi, 0x8479c233
add edi, eax
and edx, 0x7b863dcc
add edi, edx
add ecx, edi
add ecx, 1
or ecx, edx
mov eax, ebx
xor eax, 0x8479c233
mov edx, ecx
and edx, eax
sub edx, ecx
sub edx, ecx
mov edi, ebx
xor edi, 0x7b863dcc
mov ebp, ecx
xor ebp, edi
add ebp, edx
mov edx, ecx
or edx, edi
add edx, ebp
or eax, ecx
add eax, edx
and edi, ecx
add eax, edi
add eax, 1
lea ecx, [esi + esi]
add ecx, 0xe5f107f2
or ecx, 0xa8508f80
add ecx, esi
add ecx, 0x72f883f9
lea edx, [esi + 0x72f883f9]
xor edx, 0xabd7b83f
add edx, ecx
sub edx, esi
mov ecx, eax
not ecx
lea esi, [edx - 0x72f883f8]
and ecx, esi
add ecx, edx
add ecx, 0x8d077c08
add ecx, eax
or esi, eax
not esi
add esi, ecx
lea ecx, [eax + esi]
add eax, esi
add eax, 1
mov edx, eax
not edx
and edx, 0xabd7b83f
lea esi, [edx + ecx*2]
add esi, 2
mov ecx, ebx
mov edi, dword [esp + 0x24]
xor ecx, edi
sub ecx, edi
or ebx, edi
add ebx, ecx
add ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x40]
lea ecx, [edx + ebx]
add ecx, 1
or ecx, edx
or eax, 0xabd7b83f
add ecx, eax
sub esi, ecx
imul eax, esi, 0x9dce4235
lea ecx, [eax - 0x4b565ac0]
mov edx, ecx
or edx, 0xf65d2132
add eax, edx
add eax, 0xb4a9a540
not ecx
or ecx, 0xf65d2132
add ecx, eax
not ecx
imul eax, ecx, 0x2a977fe3
imul ecx, ecx, 0x552effc6
or ecx, 0x54
xor eax, 0x55
add eax, ecx
add al, 0xad
cmp edi, 1
sbb ecx, ecx
or cl, al
mov eax, dword [esp + 0x70]
mov byte [eax], cl
mov ebp, ecx
mov eax, dword [esp + 0xb8]
movsx eax, byte [eax]
push dword [esp + 0x50]
push eax
push dword [esp + 0x5c]
call fcn.100560c0
add esp, 0xc
mov ecx, dword [esp + 0x60]
mov esi, eax
or esi, 0x127c5e14
add esi, eax
mov edi, eax
not edi
or edi, 0x127c5e14
mov edx, 0xaedff7f0
sub edx, esi
sub edx, edi
mov ebx, ecx
neg ebx
add esi, edi
add esi, 0x5120080f
mov edi, edx
and edi, ebx
add edi, ecx
or ebx, esi
sub esi, edi
add ebx, esi
lea ecx, [ebx + edx]
add edx, ebx
add edx, 1
mov esi, edx
and esi, 0x639c6622
mov edi, edx
and edi, 0x9c6399dd
sub esi, edi
add ecx, esi
add ecx, 1
xor edx, 0x639c6622
add edx, ecx
imul ecx, edx, 0x192ddbe7
lea edx, [ecx + 0x190d82a4]
not edx
mov esi, edx
and esi, 0xda6bcd48
add ecx, esi
add ecx, 0x190d82a4
or edx, 0x259432b7
sub ecx, edx
mov edx, ecx
xor edx, 0xbafeab12
lea esi, [ecx + ecx]
xor esi, 0x8a02a9da
add esi, edx
not ecx
add ecx, ecx
or ecx, 0x75fd5624
sub esi, ecx
imul ecx, esi, 0x339f07d7
lea edx, [ecx + 0x42fceced]
not edx
and edx, 0x2742d5e1
lea esi, [ecx + edx]
add esi, 0x42fceced
mov edx, 0x7d031312
sub edx, ecx
or edx, 0xd8bd2a1e
sub esi, edx
mov dword [esp + 0x90], esi
test eax, eax
mov ecx, 0xd35412d3
mov eax, 0x701444bf
cmove ecx, eax
mov eax, 0x9139c880
mov edx, ebp
mov dword [esp + 0x64], ebp
mov byte [esp + 0x24], dl
mov edx, dword [esp + 0x2c]
mov byte [esp + 0x16], dl
mov edx, dword [esp + 0x20]
mov byte [esp + 0x15], dl
jmp 0x10050330
cmp eax, 0xa0523bd4
jne 0x10053264
mov eax, dword [esp]
cmp eax, 0x19434f26
mov eax, 0x4349e71e
mov edx, 0x186b8e41
cmovl eax, edx
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0xd3c72a93
mov eax, 0x7eeae031
mov edx, 0x890a6a65
cmove eax, edx
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0x3eff2489
mov eax, 0x97d0a0c7
mov edx, 0x935c8e44
cmovl eax, edx
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0xd35412d3
mov eax, 0x3c4f1218
mov edx, 0x421b38ff
cmovl eax, edx
jmp 0x10050330
mov eax, dword [esp + 0x88]
movzx eax, byte [esp + eax + 0x119]
mov byte [esp + 0x1a], al
mov ecx, 0xfc510696
mov eax, dword [esp + 0x88]
mov dword [esp + 0xac], eax
mov eax, 0x9139c880
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0x4e9647ef
mov eax, 0x7eeae031
mov edx, 0xfae00a08
cmove eax, edx
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0x78785bbf
mov eax, 0xa9924389
mov edx, 0x284b644e
cmovl eax, edx
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0x736c8d47
mov eax, 0xd97967be
mov edx, 0xbaa718a5
cmovl eax, edx
jmp 0x10050330
mov eax, dword [esp + 0x34]
mov byte [eax], 0xff
mov eax, dword [esp + 0x6c]
mov byte [eax], 0xff
mov eax, dword [esp + 0x70]
mov byte [eax], 0xff
mov eax, 0x9139c880
mov cl, 0xff
mov dword [esp + 0x64], ecx
mov ecx, 0x701444bf
mov dl, 0xff
mov dword [esp + 0x2c], edx
mov dl, 0xff
mov dword [esp + 0x20], edx
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0xc369316a
mov eax, 0x18e1587d
mov edx, 0xb593942
cmovl eax, edx
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0xf2d7931d
mov eax, 0x98c7e4da
mov edx, 0xab08ae63
cmovl eax, edx
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0x9f72619b
mov eax, 0xbe87400b
mov edx, 0x215e956e
cmovl eax, edx
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0xf2d7931d
mov eax, 0x7eeae031
mov edx, 0x682764db
cmove eax, edx
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0xac002ed1
mov eax, 0x7eeae031
mov edx, 0x7191dc87
cmove eax, edx
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0xbc56bfa7
mov eax, 0x7eeae031
mov edx, 0x272b8c31
cmove eax, edx
jmp 0x10050330
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x80]
cmp eax, dword [esp + 0xd0]
mov ecx, 0xf2d7931d
mov eax, 0x4e9647ef
jmp 0x10050325
mov eax, dword [esp]
cmp eax, 0x68ac1b4a
mov eax, 0x7eeae031
mov edx, 0x7187cfd
cmove eax, edx
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0x9c1534e
mov eax, 0x7eeae031
mov edx, 0x46fcb7fc
cmove eax, edx
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0xd029892a
mov eax, 0x7eeae031
mov edx, 0x37a5efd5
cmove eax, edx
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0xb8b18325
mov eax, 0x1bdcce16
mov edx, 0x86208e5
cmovl eax, edx
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0x78785bbf
mov eax, 0x7eeae031
mov edx, 0xc1c8d3d1
cmove eax, edx
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0x736c8d47
mov eax, 0x7eeae031
mov edx, 0xcfd4702a
cmove eax, edx
jmp 0x10050330
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x90]
mov byte [eax], cl
mov edi, ecx
movzx eax, byte [esp + 0x16]
shl al, 2
mov bh, byte [esp + 0x15]
mov ch, bh
shr ch, 4
mov ah, ch
mov dh, ch
mov cl, ch
or cl, 0xfc
mov dl, cl
sub dl, ch
and ch, 3
and ah, 0xc
xor dh, 3
sub dh, ah
mov bl, dh
or bl, ah
add bl, bl
sub bl, dh
and dh, ah
not ah
add ah, bl
add ah, dh
add ah, ch
add ah, 1
add dl, 1
mov ch, ah
add ch, ah
or ch, 0x80
xor ah, 0x3f
add ah, ch
mov ch, 0xfe
sub ch, ah
add ah, 1
and ch, dl
add ch, ah
add ch, dl
not dl
or dl, ah
add dl, ch
mov ah, 0xfe
sub ah, dl
add dl, 1
and ah, 0xc0
add ah, dl
or dl, 0x3f
add dl, ah
mov ah, 7
sub ah, dl
add dl, 0xf8
and ah, 0xb3
add ah, dl
or dl, 0x4c
add dl, ah
mov ah, 0xb1
sub ah, dl
add dl, 0x4e
neg cl
xor dl, cl
mov ch, dl
not ch
add ch, ch
add ch, dl
or cl, ah
add cl, cl
sub ch, cl
movzx ecx, ch
lea ecx, [ecx + ecx*2]
neg ecx
xor cl, 0x80
movzx ecx, cl
imul ecx, ecx, 0x55
xor cl, 0x80
movzx ecx, cl
imul ecx, ecx, 0x5d
mov edx, ecx
not dl
mov ah, cl
and ah, 0xb3
add ah, cl
and dl, 0x4c
add dl, ah
xor cl, 0xb3
add cl, dl
mov ah, 0x32
sub ah, cl
mov dl, ah
and dl, 0x5e
add dl, cl
or ah, 0xa1
sub dl, ah
add dl, 0x8f
mov ecx, edx
not cl
mov ah, dl
add ah, dl
and cl, 0x4c
add cl, ah
or dl, 0x4c
sub cl, dl
movzx ecx, cl
imul ecx, ecx, 0xfffffff5
mov edx, ecx
add dl, 0x2f
mov dh, dl
mov ah, dl
xor ah, al
and dl, al
not al
and dh, al
add dh, dh
add ah, ah
sub ah, dh
add ah, al
add ah, cl
add ah, 0x30
or ah, dl
mov al, ah
add al, ah
mov cl, 0x12
sub cl, al
mov al, cl
xor al, 0xef
add al, ah
xor cl, 0x11
add cl, al
mov byte [esp + 0xd], cl
mov cl, bh
shl cl, 4
movzx eax, byte [esp + 0x24]
shr al, 2
and al, 0xf
movzx eax, al
imul eax, eax, 0x69
add al, 0xa7
mov edx, eax
not dl
movzx esi, al
mov ch, al
and ch, 0x6d
add ch, ch
and al, 0x12
add al, ch
lea ebx, [esi + esi*2]
sub bl, al
and dl, 0x12
add dl, bl
movzx eax, dl
imul edx, eax, 0xffffffd9
mov eax, edx
add al, 0xe5
add dl, 0x14
not dl
mov ah, dl
and ah, 0xb
add ah, al
add ah, al
or dl, 0xb
add dl, ah
add dl, 0x6f
mov eax, edx
and al, cl
add al, cl
mov ah, dl
or ah, cl
sub al, ah
mov ah, dl
xor ah, cl
mov byte [esp + 0x29], ah
add al, ah
not cl
or cl, dl
add cl, al
mov byte [esp + 0x28], cl
movzx edx, byte [esp + 0x24]
shl dl, 6
mov bh, dl
not bh
mov eax, edi
mov ch, al
not ch
mov byte [esp + 0x10], bh
mov dh, ch
add dh, ch
add dh, al
mov esi, edi
mov al, 0xfe
sub al, dh
mov bl, dl
xor bl, al
mov cl, bl
sub cl, dl
or al, dl
add al, al
add al, cl
not bl
add bl, al
add bl, dh
add bl, 3
or bl, bh
mov dh, bh
mov al, ch
mov byte [esp + 0x40], ch
and dh, ch
add dh, bh
mov ecx, edi
and bh, cl
mov ah, byte [esp + 0x10]
or ah, al
mov byte [esp + 0x10], ah
add bh, ah
mov ah, dl
and ah, cl
add ah, bh
not ah
add ah, cl
add bl, dl
add ah, ah
add ah, bl
add ah, 1
mov cl, 7
sub cl, dl
movzx esi, cl
imul ebx, esi, 0x7b
add bl, 0xa3
mov cl, ah
not cl
and cl, bl
mov al, ah
add al, bl
sub cl, al
or bl, ah
not bl
add bl, cl
add bl, ah
add bl, 1
mov eax, edi
neg al
mov ecx, ebx
xor cl, al
mov ah, cl
add ah, cl
sub ah, cl
not bl
or bl, al
add bl, bl
add bl, ah
add bl, 2
and dl, byte [esp + 0x40]
add dl, dh
mov eax, edx
not al
movzx ecx, byte [esp + 0x10]
add al, cl
sub dl, cl
mov ecx, eax
or cl, 0x8c
mov ch, al
add ch, al
xor ch, 0xe6
add ch, cl
mov cl, dl
and cl, 0x73
or al, 0x73
or dl, 0x8c
add dl, al
sub ch, dl
or ch, cl
xor ch, 0x73
mov al, ch
add al, 1
mov ah, 0x7e
sub ah, ch
and ah, bl
add ah, ah
mov cl, bl
add cl, al
xor al, bl
add al, cl
sub ah, al
add ah, ch
add ah, 2
mov ch, bl
not ch
add ch, ah
and byte [esp + 0x40], 0x31
mov edx, edi
mov dh, dl
or dh, 0xce
mov al, bl
sub al, ah
sub ah, bl
mov ebx, edi
mov cl, bl
xor cl, 0x31
add cl, dh
add cl, 1
and dh, cl
movzx ebx, byte [esp + 0x40]
mov dl, bl
or dl, cl
add dl, dh
and bl, cl
not cl
add cl, dl
add cl, bl
and al, 0x70
add al, ch
not ch
add cl, 1
xor cl, 0x31
and ch, 0x8f
add ch, al
add ah, ch
add ah, cl
add ah, 0x71
mov al, ah
add al, ah
mov ecx, eax
xor cl, 0x1e
add cl, ah
xor al, 0xe0
add al, cl
movzx eax, al
lea ecx, [eax + eax*8]
lea edx, [ecx + ecx*2]
add edx, eax
add edx, eax
mov eax, edx
add al, 0xa3
mov cl, 0x9c
sub cl, dl
and cl, 0x39
and al, 0x39
add al, cl
sub dl, al
add dl, 0x15
movzx eax, dl
imul edx, eax, 0x35
add dl, 0xd3
imul eax, eax, 0xffffff96
add al, 0x58
and al, 0x90
add al, dl
add dl, dl
or dl, 0x6e
add dl, al
mov al, 0x85
sub al, dl
add dl, 0xba
and al, 0x33
add al, dl
and dl, 0x33
add dl, al
mov eax, edx
and al, 0x48
add al, dl
mov ecx, edx
xor cl, 0x48
add cl, al
mov ah, byte [esp + 0x28]
add ah, 1
or dl, 0x48
sub cl, dl
mov al, ah
mov ch, byte [esp + 0x29]
add al, ch
mov dl, ah
or dl, ch
not dl
add dl, al
xor ah, ch
add ah, dl
add ah, 1
mov byte [esp + 0xe], ah
add cl, 0x48
mov byte [esp + 0xf], cl
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x78]
cmp eax, dword [esp + 0xc8]
mov ecx, 0x78785bbf
mov eax, 0xd37ca4c3
jmp 0x10050325
mov eax, dword [esp]
cmp eax, 0xc9cb21bc
mov eax, 0x282fa4f4
mov edx, 0x87819203
cmovl eax, edx
jmp 0x10050330
mov dword [esp], ecx
mov eax, 0x3db5f36b
jmp 0x10050330
mov eax, dword [esp + 0xe4]
mov eax, dword [esp + 0x110]
lea ecx, [eax - 0x10f38162]
mov edx, 1
sub edx, eax
and edx, 1
add edx, eax
add edx, 0xef0c7e9e
or ecx, 1
sub edx, ecx
lea ecx, [eax + edx]
add eax, edx
add eax, 0xef0c7e9f
mov edx, eax
not edx
mov esi, edx
and esi, 0x10f38161
add ecx, esi
add ecx, 0xef0c7e9f
add ecx, eax
or edx, 0x10f38161
lea eax, [edx + ecx]
add eax, 2
imul ecx, eax, 0x32c892df
mov edx, ecx
and edx, 0x4dd65fe9
add edx, edx
imul eax, eax, 0x659125be
mov esi, eax
and esi, 0x6453402c
sub esi, edx
add esi, ecx
xor eax, 0x6453402c
add eax, esi
mov ecx, 0x967ce043
sub ecx, eax
imul ecx, ecx, 0xefa056e1
mov edx, ecx
not edx
mov eax, edx
and eax, 0x81cddac5
add eax, ecx
or edx, 0x7e32253a
sub eax, edx
add eax, 0xfc644a74
mov ecx, eax
or ecx, 0x664291c9
mov edx, eax
sub edx, ecx
mov ecx, eax
xor ecx, 0x664291c9
add ecx, edx
or eax, 0x99bd6e36
add eax, ecx
add eax, 0x4e52fe59
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x88]
cmp ecx, eax
mov ecx, 0xd3c72a93
mov eax, 0x6e68b46c
cmove ecx, eax
mov eax, 0x9139c880
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0x9c1534e
mov eax, 0x3e531632
mov edx, 0x7889d125
cmovl eax, edx
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0xc89f813e
mov eax, 0xdfb29ecc
mov edx, 0x3a2f0277
cmovl eax, edx
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0x6e68b46c
mov eax, 0xcb9674e4
mov edx, 0xcf792e7b
cmovl eax, edx
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0xc369316a
mov eax, 0x7eeae031
mov edx, 0xfa8c6c90
cmove eax, edx
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0xb8b18325
mov eax, 0x7eeae031
mov edx, 0x458f5433
cmove eax, edx
jmp 0x10050330
lea eax, [esp + 0x118]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x10c], eax
mov dword [esp + 0xac], 0
mov ecx, 0xfc510696
movzx eax, byte [esp + 0x1e]
mov byte [esp + 0x1a], al
mov eax, 0x9139c880
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0x63467617
mov eax, 0x7eeae031
mov edx, 0x7513d63c
cmove eax, edx
jmp 0x10050330
cmp dword [esp + 0x58], 0
mov ecx, 0x9ba4fddd
mov eax, 0x31fe9ac7
cmovg ecx, eax
mov eax, 0x9139c880
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0x701444bf
mov eax, 0x536d6f78
mov edx, 0x8749692d
cmovl eax, edx
jmp 0x10050330
mov eax, dword [esp + 0xf0]
mov dword [esp + 0xfc], eax
lea eax, [esp + 0x11d]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x11e]
mov dword [esp + 0x70], eax
lea eax, [esp + 0x11a]
mov dword [esp + 0xb4], eax
lea eax, [esp + 0x11f]
mov dword [esp + 0xb8], eax
lea eax, [esp + 0x11b]
mov dword [esp + 0xbc], eax
lea eax, [esp + 0x114]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x44]
movzx eax, byte [eax]
mov byte [esp + 0x1b], al
mov eax, dword [esp + 0xb4]
movzx eax, byte [eax]
mov byte [esp + 0x1c], al
mov eax, dword [esp + 0xbc]
movzx eax, byte [eax]
mov byte [esp + 0x1d], al
mov eax, 0x9139c880
mov dword [esp + 0xa4], 0
mov ecx, 0xbc56bfa7
mov edx, dword [esp + 0xb0]
mov dword [esp + 0xa8], edx
mov dword [esp + 0xa0], 0
jmp 0x10050330
movsx edx, byte [esp + 0xd]
mov ecx, dword [esp + 0x30]
call fcn.10053290
jmp 0x10053199
mov eax, dword [esp + 0x38]
movzx eax, byte [esp + 0xf]
mov byte [esp + 0x19], al
movzx eax, byte [esp + 0xe]
mov byte [esp + 0x18], al
mov eax, 0x9139c880
mov dword [esp + 0x94], 0
mov ecx, 0xc369316a
movzx edx, byte [esp + 0xd]
mov byte [esp + 0x17], dl
jmp 0x10050330
cmp dword [esp + 0xc4], 0
mov ecx, 0xbc56bfa7
mov eax, 0x9f72619b
cmove ecx, eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xa8], eax
mov eax, 0x9139c880
mov edx, dword [esp + 0x100]
mov dword [esp + 0xa4], edx
movzx edx, byte [esp + 0x19]
mov byte [esp + 0x1d], dl
mov dh, byte [esp + 0x18]
mov byte [esp + 0x1c], dh
movzx ebx, byte [esp + 0x17]
mov byte [esp + 0x1b], bl
mov byte [esp + 9], dl
mov byte [esp + 8], dh
mov byte [esp + 7], bl
mov edx, dword [esp + 0x94]
mov dword [esp + 0xa0], edx
mov dword [esp + 0x68], edx
jmp 0x10050330
mov eax, dword [esp + 0x80]
lea edx, [eax + 0x4bebe8cf]
mov ecx, 0xb4141730
sub ecx, eax
and ecx, 0xb4141731
add ecx, eax
add ecx, eax
or edx, 0xb4141731
sub edx, ecx
mov ecx, eax
not ecx
lea ebx, [eax + ecx*2]
lea edi, [eax + ecx*2]
add edi, 1
mov ebp, edi
not ebp
mov esi, edi
xor esi, 0xfffffffe
and ebp, 1
add ebp, esi
mov esi, ebx
or esi, 0xfffffffe
sub ebp, esi
add ebp, 0xfffffffe
and edi, ebp
mov esi, 0xfffffffe
sub esi, ebx
or esi, ebp
lea ebp, [edx - 0x4bebe8cf]
add ebx, edi
add ebx, 1
add esi, ebx
sub esi, edi
add edx, esi
add edx, 0xb4141732
add esi, 1
mov edi, ebp
or edi, esi
add edi, edx
mov edx, ebp
xor edx, esi
not edx
add edx, edi
and esi, ebp
not esi
lea edi, [edx + esi]
add esi, edx
add esi, 0xfffffffe
or esi, 1
mov edx, 1
sub edx, edi
or edx, 0xfffffffe
sub edx, esi
mov esi, eax
and esi, 0xfffffffe
mov edi, ecx
or edi, 1
add edi, esi
mov esi, eax
or esi, 1
sub edi, esi
mov esi, edi
not esi
lea ebx, [edi + esi*2]
lea edi, [edi + esi*2]
add edi, 1
mov ebp, edi
not ebp
lea esi, [ebx*2 + 4]
add esi, ebp
mov ebx, edi
sub ebx, esi
and ebx, ebp
sub esi, edi
add esi, ebx
lea edi, [edx + edx]
or edi, 0xb93469c1
xor edx, 0xa365cb1f
add edx, edi
add edx, esi
add edx, 0xffffffff
mov esi, edx
and esi, 0xa365cb1f
mov edi, 0x5c9a34e1
sub edi, esi
mov dword [esp + 0x10], edi
and ecx, 0x6358cf65
mov esi, eax
and esi, 0x9ca7309a
or esi, ecx
add esi, ecx
or eax, 0x9ca7309a
lea ecx, [esi + eax]
add esi, eax
add esi, 1
mov eax, esi
not eax
mov ebx, 0x7ffffffe
sub ebx, ecx
and ebx, 0x6358cf64
xor esi, 0x6358cf64
add esi, ebx
and eax, 0x9ca7309b
add eax, esi
lea esi, [ecx + eax]
add ecx, eax
add ecx, 2
mov eax, ecx
and eax, 0xd81193fe
lea ebx, [esi + esi]
add ebx, 4
or ebx, 0x4fdcd802
sub ebx, eax
mov ebp, ecx
xor ebp, 0xd81193fe
mov esi, 0x27ee6bff
sub esi, ebx
sub esi, ebp
lea edi, [ebx + ebp]
add edi, 0xd8119400
xor eax, 0xd81193fe
or ecx, 0x27ee6c01
and ecx, edi
or edi, eax
add edi, ecx
or esi, eax
mov ecx, 0x3ffffffe
sub ecx, edi
sub ecx, esi
and edx, 0x5c9a34e0
lea eax, [esi + edi]
add eax, 1
and ecx, 0x27ee6c01
mov esi, eax
xor esi, 0x27ee6c01
add esi, ecx
or eax, 0xd81193fe
lea ecx, [esi + eax]
add eax, esi
add eax, 1
mov esi, edx
not esi
mov edi, dword [esp + 0x10]
add esi, edi
sub edx, edi
and edx, eax
add edx, esi
add edx, eax
mov eax, 0xfffffffe
sub eax, ecx
or eax, esi
add eax, edx
not eax
imul eax, eax, 0xeef6c269
lea ecx, [eax + 0x300b092d]
mov edx, 0xcff4f6d2
sub edx, eax
and edx, 0xb8fd6c6e
or ecx, 0xb8fd6c6e
add ecx, eax
add ecx, 0x300b092d
add edx, eax
sub ecx, edx
lea eax, [ecx - 0x770d9cbf]
mov edx, eax
and edx, 0x300b092d
mov esi, eax
and esi, 0xcff4f6d2
sub edx, esi
add ecx, edx
add ecx, 0x88f26341
xor eax, 0x300b092d
add eax, ecx
imul eax, eax, 0xd8caedd9
lea ecx, [eax - 0x4cb6e04a]
not ecx
mov edx, ecx
and edx, 0x350140c1
add eax, edx
add eax, 0xb3491fb6
or ecx, 0xcafebf3e
sub eax, ecx
mov ecx, dword [esp + 0x3c]
mov dword [ecx], eax
mov edx, dword [esp + 0xd0]
mov ecx, dword [esp + 0x74]
cmp edx, 0x10
jae 0x100531cc
mov ecx, dword [esp + 0x4c]
jmp 0x100531ce
mov eax, dword [esp]
cmp eax, 0x1d8fa668
mov eax, 0x36ad7365
mov edx, 0xa0523bd4
cmovl eax, edx
jmp 0x10050330
cmp byte [esp + 0x2a], 0
mov ecx, 0x1d8fa668
mov eax, 0x6e68b46c
cmovne ecx, eax
mov eax, 0x9139c880
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0xdf7c06b8
mov eax, 0x7eeae031
mov edx, 0x2060045a
cmove eax, edx
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0xdf7c06b8
mov eax, 0x9746a85e
mov edx, 0x32d34654
cmovl eax, edx
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0x3eff2489
mov eax, 0x7eeae031
mov edx, 0x9a4562ac
cmove eax, edx
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0x3dcfcfd1
mov eax, 0x7eeae031
mov edx, 0xe9a80903
cmove eax, edx
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0x43ce7fce
mov eax, 0x7eeae031
mov edx, 0x5a496d9f
cmove eax, edx
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0xa413b8e7
mov eax, 0x7eeae031
mov edx, 0x336c5871
cmove eax, edx
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0x19434f26
mov eax, 0x7eeae031
mov edx, 0x378201ad
cmove eax, edx
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0xd37ca4c3
mov eax, 0x7eeae031
mov edx, 0x38ca60d8
cmove eax, edx
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0xd37ca4c3
mov eax, 0xd599b9a1
mov edx, 0x5eb601e0
cmovl eax, edx
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0x701444bf
mov eax, 0x7eeae031
mov edx, 0x43347964
cmove eax, edx
jmp 0x10050330
mov ecx, dword [esp + 0x7c]
mov eax, ecx
not eax
and eax, 1
add eax, ecx
mov edx, ecx
xor edx, 1
add edx, eax
mov eax, ecx
or eax, 1
sub edx, eax
and edx, ecx
lea esi, [edx + 0x15b1e042]
mov edi, 0x6a4e1fbd
sub edi, edx
and edi, 0x6a4e1fbe
or esi, 0x95b1e041
add esi, edi
mov edi, esi
not edi
add edi, edx
mov ebp, edi
xor ebp, 0xefe7d856
add ebp, edi
lea ebx, [edi + edi]
xor ebx, 0x20304f52
add ebx, ebp
or edi, 0x101827a9
sub esi, edx
or esi, 0xefe7d856
add esi, edi
sub ebx, esi
lea edx, [ebx + ecx]
add ecx, ebx
add ecx, 0x101827aa
mov esi, ecx
and esi, 0x101827a9
add edx, esi
add edx, 0x101827aa
or ecx, 0xefe7d856
sub edx, ecx
lea esi, [edx - 0x20304f54]
add edx, 0x2a396394
and edx, 0xfffffffe
and esi, 1
lea ecx, [edx + esi]
add edx, esi
add edx, 1
mov esi, edx
and esi, 0x35964d17
add esi, esi
mov edi, edx
sub edi, esi
xor edx, 0x4a69b2e8
add edx, edi
lea esi, [ecx + edx]
mov edi, eax
not edi
add ecx, edx
add ecx, 0x6df490fb
lea edx, [edi + esi]
add edx, 0x6df490fb
sub eax, ecx
and eax, 0xfd380936
mov ecx, edx
and ecx, 0xfd380936
add ecx, eax
sub ecx, edx
lea edx, [ecx + ecx]
add edx, 0xb1fdb28
mov eax, edx
or eax, 3
or edx, 2
add ecx, edx
add ecx, 0x58fed94
sub eax, ecx
lea ecx, [eax + 1]
mov edx, dword [esp + 0x3c]
mov dword [edx], ecx
mov edx, dword [esp + 0xcc]
mov ecx, dword [esp + 0x74]
cmp edx, 0x10
jae 0x100531f0
mov ecx, dword [esp + 0x4c]
jmp 0x100531f2
mov eax, dword [esp]
cmp eax, 0xfc510696
mov eax, 0x5b2e4f1d
mov edx, 0x375917e
cmovl eax, edx
jmp 0x10050330
movsx edx, byte [esp + 0xe]
mov ecx, dword [esp + 0x30]
call fcn.10053290
jmp 0x10053203
mov eax, 0xe1a2a2ac
jmp 0x10050330
mov edx, dword [esp + 0xa8]
lea eax, [edx - 0x42333599]
mov ecx, eax
xor ecx, 0xbdccca67
add ecx, edx
mov edx, eax
or edx, 0xbdccca67
sub ecx, edx
or eax, 0x42333598
add eax, ecx
add eax, 0x8483fc50
mov ecx, eax
mov edx, eax
lea esi, [eax + eax*2]
not eax
and ecx, 0x46b731e9
and edx, 0x3948ce16
lea ecx, [edx + ecx*2]
sub esi, ecx
and eax, 0x3948ce16
add eax, esi
imul eax, eax, 0xc7f470c9
lea ecx, [eax - 0x380b8f37]
not ecx
mov edx, 0x380b8f36
sub edx, eax
and edx, 0xeaa0a571
add edx, eax
add edx, 0xc7f470c9
and ecx, 0x155f5a8e
add ecx, edx
lea edx, [eax + ecx]
add eax, ecx
add eax, 0xdd53cb59
mov ecx, eax
not ecx
mov esi, ecx
and esi, 0x4e8df829
add edx, esi
add edx, 0xdd53cb59
add edx, eax
or ecx, 0x4e8df829
add ecx, edx
imul eax, ecx, 0xf9f2a979
lea ecx, [eax - 0x6266ed59]
and ecx, 0xbdaef1b
add ecx, ecx
lea edx, [eax + eax]
add edx, 0x3b32254e
mov esi, edx
and esi, 0xe84a21c8
sub esi, ecx
add eax, esi
add eax, 0x9d9912a7
xor edx, 0xe84a21c8
lea ecx, [eax + edx]
add eax, edx
add eax, 0x8bdaef1d
mov edx, eax
not edx
and eax, 0xb45dfa25
add ecx, eax
add ecx, 0x8bdaef1d
and edx, 0xb45dfa25
lea eax, [ecx + edx]
add ecx, edx
add ecx, 0x97440bb5
mov edx, 0x68bbf44a
sub edx, eax
and edx, 0x8bdaef1b
add edx, eax
add edx, 0x97440bb5
mov esi, ecx
xor esi, 0x8bdaef1b
add esi, edx
mov edx, ecx
or edx, 0x8bdaef1b
sub esi, edx
xor ecx, 0x742510e4
add ecx, esi
add eax, ecx
add eax, 0x231efad1
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0xc0], ecx
movzx ecx, byte [esp + 0x1b]
mov byte [esp + 0xa], cl
movzx ecx, byte [esp + 0x1c]
mov byte [esp + 0xb], cl
movzx ecx, byte [esp + 0x1d]
mov byte [esp + 0xc], cl
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xf8]
cmp dword [eax], 0x10
mov eax, dword [esp + 0xfc]
jae 0x10053212
mov eax, dword [esp + 0xf4]
jmp 0x10053214
mov eax, dword [esp]
cmp eax, 0x9f72619b
mov eax, 0x7eeae031
mov edx, 0x5281d8ab
cmove eax, edx
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0xbc56bfa7
mov eax, 0xecaad2d5
mov edx, 0x779199c7
cmovl eax, edx
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0x9ba4fddd
mov eax, 0x7eeae031
mov edx, 0x11937a5
cmove eax, edx
jmp 0x10050330
mov eax, dword [esp]
cmp eax, 0xd35412d3
mov eax, 0x7eeae031
mov edx, 0x2bca5918
cmove eax, edx
jmp 0x10050330
movzx eax, byte [esp + 6]
push eax
call fcn.100575a0
add esp, 4
movzx ecx, byte [esp + 6]
mov edx, ecx
not dl
add dl, dl
or dl, 8
add dl, cl
or cl, 0xfb
sub cl, dl
movzx ecx, cl
imul ecx, ecx, 0x7b
add cl, 0x71
mov edx, ecx
not dl
mov dh, dl
and dh, 0x7a
add dh, cl
xor cl, 0x85
add cl, dh
or dl, 0x7a
sub dl, cl
movzx ecx, dl
imul ecx, ecx, 0xffffffb3
add cl, 0xb2
mov edx, ecx
not dl
and dl, 0x4e
add dl, cl
or cl, 0xb1
add cl, dl
cmp cl, 0x86
mov ecx, 0x9f72619b
mov edx, 0xb8b18325
cmove ecx, edx
test eax, eax
cmovne ecx, edx
jmp 0x10053237
mov eax, 0x5bf6e1c6
jmp 0x10050330
mov ecx, dword [ecx]
mov edx, dword [esp + 0x78]
movzx ebx, byte [esp + 0xd]
mov byte [ecx + edx], bl
mov byte [ecx + eax - 0x30142c76], 0
mov eax, 0x9139c880
mov ecx, 0xd029892a
jmp 0x10050330
mov ecx, dword [ecx]
mov edx, dword [esp + 0x84]
movzx ebx, byte [esp + 0x1f]
mov byte [ecx + edx], bl
mov byte [ecx + eax], 0
mov eax, 0x9139c880
mov ecx, 0x43ce7fce
jmp 0x10050330
mov ecx, dword [ecx]
mov edx, dword [esp + 0x80]
movzx ebx, byte [esp + 0xf]
mov byte [ecx + edx], bl
mov byte [ecx + eax], 0
mov eax, 0x9139c880
mov ecx, 0x19434f26
jmp 0x10050330
mov ecx, dword [ecx]
mov edx, dword [esp + 0x7c]
movzx ebx, byte [esp + 0xe]
mov byte [ecx + edx], bl
mov byte [ecx + eax + 1], 0
mov eax, 0x9139c880
mov ecx, 0x86941e16
jmp 0x10050330
mov eax, dword [eax]
mov ecx, dword [esp + 0xc0]
movzx eax, byte [eax + ecx]
mov byte [esp + 6], al
movzx eax, byte [esp + 6]
cmp al, 0x3d
mov ecx, 0x68ac1b4a
mov eax, 0x9f72619b
cmove ecx, eax
movzx eax, byte [esp + 0xc]
mov byte [esp + 9], al
movzx eax, byte [esp + 0xb]
mov byte [esp + 8], al
movzx eax, byte [esp + 0xa]
mov byte [esp + 7], al
mov eax, 0x9139c880
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x68], edx
jmp 0x10050330
cmp eax, 0x9fdf96e5
jne 0x10050330
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x120]
xor ecx, esp
call fcn.1005560a
add esp, 0x124
pop esi
pop edi
pop ebx
pop ebp
ret