Function at 0x1004ae00
Capabilities:
Authenticate hmac
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 [0x10063040]
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 + 0x38], eax
mov eax, dword [esp + 0x38]
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 + 0x2e]
mov dword [esp + 0x34], ecx
lea eax, [ecx + 0x10]
mov dword [esp + 0x90], eax
mov ecx, 0x9af644d
mov eax, 0x59e7bb65
mov dword [esp + 0x68], edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x30], edx
jmp 0x1004af10
mov eax, dword [esp + 0xac]
mov dword [esp + 0x110], eax
movzx eax, byte [esp + 0x22]
mov byte [esp + 0x27], al
mov eax, dword [esp + 0xe4]
mov eax, dword [esp + 0xe8]
mov eax, dword [eax]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x88]
cmp eax, dword [esp + 0xec]
mov ecx, 0x7000c9b8
mov eax, 0xaa6e5c4f
cmovb ecx, eax
mov eax, 0x400d2b29
nop dword [eax]
cmp eax, 0x140ef565
jle 0x1004af80
cmp eax, 0x475c4a30
jg 0x1004b1c0
cmp eax, 0x2fc6754b
jle 0x1004b27c
cmp eax, 0x3d7d1d3e
jg 0x1004b584
cmp eax, 0x389a8ebf
jle 0x1004be23
cmp eax, 0x3a4a0459
jg 0x1004c314
cmp eax, 0x389a8ec0
je 0x1004d3ac
cmp eax, 0x3a30eabc
jne 0x1004af10
mov eax, dword [esp]
cmp eax, 0x77f6709c
mov eax, 0x797973a8
mov edx, 0xf5610226
cmove eax, edx
jmp 0x1004af10
cmp eax, 0xceca3f80
jle 0x1004b220
cmp eax, 0xf01e336d
jle 0x1004b2e9
cmp eax, 0x50171d9
jg 0x1004b5ca
cmp eax, 0xf6b2bed3
jle 0x1004be5e
cmp eax, 0xf7f76710
jg 0x1004c344
cmp eax, 0xf6b2bed4
je 0x1004d3c6
cmp eax, 0xf77bed4d
jne 0x1004af10
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0x9c]
mov byte [eax], cl
mov edx, dword [esp + 0xdc]
mov eax, edx
and eax, 1
mov dword [esp + 8], eax
lea esi, [edx + edx]
mov dword [esp + 0x5c], esi
mov ecx, esi
and ecx, 0xfffffffc
or ecx, eax
sub esi, ecx
sub esi, eax
sub esi, eax
mov edi, edx
not edi
lea ebp, [edx + edi*2]
mov eax, 0xfffffffd
sub eax, ebp
mov ecx, esi
and ecx, eax
add ecx, esi
lea ebx, [edx + edi*2]
add ebx, 2
mov dword [esp + 0x18], edi
xor ebx, esi
or eax, esi
add ebx, ebp
add ebx, eax
sub ebx, ecx
and edi, 0x35de07d6
mov ecx, edx
xor ecx, 0xca21f829
add ecx, edi
mov ebp, edx
xor ebp, 0x35de07d6
add ebp, ecx
mov esi, dword [esp + 0x5c]
and esi, 0x9443f052
mov eax, edx
and eax, 0xca21f829
mov ecx, eax
xor ecx, 0xca21f829
add ecx, esi
mov esi, edx
or esi, 0x35de07d6
sub ecx, esi
add eax, ecx
add eax, 0x6bbc0fad
mov ecx, 0xfffffffe
sub ecx, ebp
and ecx, eax
lea esi, [ebx + 2]
lea edi, [ecx + ebp]
add edi, 1
xor edi, 0xca21f828
lea eax, [edi + 1]
mov ecx, esi
xor ecx, eax
add ecx, ebx
add ecx, 2
mov ebx, 0xfffffffe
sub ebx, edi
or ebx, esi
add ebx, ecx
not esi
or esi, eax
add esi, ebx
add esi, edi
mov edi, 0xfffffffd
sub edi, esi
mov eax, dword [esp + 8]
lea ebx, [eax + edx*2]
or ebx, 0xfffffffc
xor ebx, 1
mov eax, edx
or eax, 0xfffffffe
sub ebx, eax
sub ebx, eax
mov ecx, edx
and ecx, 0xfffffffe
add ecx, eax
sub ecx, edx
or edx, 1
lea esi, [ecx + edx]
add edx, ecx
add edx, 1
mov ebp, edx
not ebp
and ebp, ebx
mov eax, ebx
xor eax, edx
mov ecx, edx
or edx, ebx
not ebx
and ecx, ebx
lea ecx, [ecx + ecx*2]
sub ebp, ecx
add eax, ebp
add edx, eax
lea eax, [edx + esi*2]
add eax, 2
lea edx, [eax + ebx*2 + 2]
mov eax, edx
not eax
mov ecx, edx
and ecx, 0xbb916761
add ecx, eax
mov eax, edx
xor eax, 0xbb916761
add eax, ecx
add eax, 1
and edx, 0x446e989e
or edx, eax
lea eax, [edx + edx]
xor eax, 0x7722cec3
xor edx, 0x446e989e
add eax, edx
add eax, 1
not eax
mov edx, edi
and edx, eax
or eax, edi
mov esi, dword [esp + 0x18]
or esi, 0xfffffffe
mov ecx, dword [esp + 8]
lea ecx, [esi + ecx*2]
add ecx, 2
add edx, eax
add edx, 0x2615a57c
mov eax, edx
and eax, ecx
lea esi, [eax + eax*2]
add esi, edx
add esi, ecx
mov eax, edx
xor eax, ecx
lea eax, [eax + eax*2]
add eax, esi
or edx, ecx
lea ecx, [edx + edx*2]
sub eax, ecx
mov ecx, eax
and ecx, 0xd9ea5a85
mov edx, eax
xor edx, 0xd9ea5a85
add edx, ecx
mov ecx, eax
not ecx
and ecx, 0x2615a57a
add ecx, edx
lea edx, [ecx + eax]
add eax, ecx
add eax, 0xd9ea5a86
lea ecx, [edx + edx]
add ecx, 0xb3d4b50c
sub ecx, eax
mov dword [esp + 0x5c], ecx
cmp ecx, dword [esp + 0x58]
mov ecx, 0x6782f2d5
mov eax, 0xa89b8dd2
jmp 0x1004e195
cmp eax, 0x60f55893
jle 0x1004b3e6
cmp eax, 0x750edf0d
jg 0x1004b6b4
cmp eax, 0x6a456c4f
jle 0x1004beb8
cmp eax, 0x72868458
jg 0x1004c374
cmp eax, 0x6a456c50
je 0x1004d3e0
cmp eax, 0x71987f4a
jne 0x1004af10
mov eax, dword [esp]
cmp eax, 0xf61b0491
mov eax, 0x797973a8
mov edx, 0x7e3af707
cmove eax, edx
jmp 0x1004af10
cmp eax, 0xa5485e81
jle 0x1004b437
cmp eax, 0xbc2762bf
jg 0x1004b6fa
cmp eax, 0xaba2948b
jle 0x1004bf18
cmp eax, 0xb4ad784b
jg 0x1004cb03
cmp eax, 0xaba2948c
je 0x1004d3fa
cmp eax, 0xb454b424
jne 0x1004af10
mov eax, dword [esp]
cmp eax, 0x4751529b
mov eax, 0x797973a8
mov edx, 0xa58d56fb
cmove eax, edx
jmp 0x1004af10
cmp eax, 0x1f252c78
jle 0x1004b740
cmp eax, 0x27f155c7
jle 0x1004c050
cmp eax, 0x2a064b02
jg 0x1004cb33
cmp eax, 0x27f155c8
je 0x1004d414
cmp eax, 0x2987d03e
jne 0x1004af10
mov eax, dword [esp + 0x5c]
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 + 0x2f], 0
mov ecx, 0xb72a2da9
mov eax, 0xd5294218
jmp 0x1004da8a
cmp eax, 0xe4fd55bf
jle 0x1004b7b6
cmp eax, 0xed11273f
jle 0x1004c08b
cmp eax, 0xefd8ea84
jg 0x1004cb63
cmp eax, 0xed112740
je 0x1004d453
cmp eax, 0xefad1101
jne 0x1004af10
mov eax, dword [esp + 0xf0]
mov dword [esp + 0xfc], eax
lea eax, [esp + 0x11d]
mov dword [esp + 0x70], eax
lea eax, [esp + 0x11e]
mov dword [esp + 0x74], 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 + 0x3c], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x44]
movzx eax, byte [eax]
mov byte [esp + 0x23], al
mov eax, dword [esp + 0xb4]
movzx eax, byte [eax]
mov byte [esp + 0x24], al
mov eax, dword [esp + 0xbc]
movzx eax, byte [eax]
mov byte [esp + 0x25], al
mov eax, 0x400d2b29
mov dword [esp + 0xa4], 0
mov ecx, 0x8a35f1d8
mov edx, dword [esp + 0xb0]
mov dword [esp + 0xa8], edx
mov dword [esp + 0xa0], 0
jmp 0x1004af10
cmp eax, 0x599bc9e6
jle 0x1004bd9e
cmp eax, 0x5c6f7ca7
jle 0x1004c0c6
cmp eax, 0x5f07cd8c
jg 0x1004cb93
cmp eax, 0x5c6f7ca8
je 0x1004d618
cmp eax, 0x5e47992e
jne 0x1004af10
mov eax, dword [esp]
cmp eax, 0x672a076a
mov eax, 0x797973a8
mov edx, 0xbc2762c0
cmove eax, edx
jmp 0x1004af10
cmp eax, 0x99fb31e5
jle 0x1004bde4
cmp eax, 0x9deabdef
jle 0x1004c101
cmp eax, 0xa2d93d55
jg 0x1004cbc3
cmp eax, 0x9deabdf0
je 0x1004d635
cmp eax, 0x9ebcd0eb
jne 0x1004af10
mov eax, dword [esp + 0xe0]
movsx eax, byte [eax]
push dword [esp + 0xd4]
push eax
push dword [esp + 0xe0]
call fcn.100514f0
add esp, 0xc
mov esi, eax
and esi, 0x131403a9
lea edi, [esi + eax]
mov ecx, esi
not ecx
add ecx, edi
add ecx, 0x131403aa
mov edx, ecx
and edx, 0xecebfc57
add edx, ecx
lea ecx, [esi + eax]
add ecx, 0x131403aa
add edx, esi
sub esi, ecx
mov ecx, dword [esp + 0x104]
or esi, 0xecebfc57
add esi, edi
add esi, 0x131403aa
sub edx, esi
lea esi, [edx - 0x131403a9]
and esi, 0xcc0a12c8
mov edi, esi
xor edi, 0xcc0a12c8
add edx, edi
add edx, 0xecebfc57
lea edi, [esi + edx]
add edi, 1
add esi, edx
mov edx, ecx
not edx
add edx, esi
add edx, 1
sub ecx, edi
lea esi, [ecx + edx*2]
lea ecx, [ecx + edx*2]
add ecx, 0x4c86aae7
mov edx, ecx
and edx, 0xe7d52a65
add edx, esi
add edx, 0x4c86aae7
mov edi, 0xb3795518
sub edi, esi
and edi, 0xe7d52a65
sub edx, edi
mov esi, ecx
xor esi, 0xe7d52a65
add esi, edx
mov edx, ecx
not edx
and edx, 0x182ad59a
add edx, esi
or ecx, 0x182ad59a
sub edx, ecx
lea esi, [edx - 0x182ad59b]
mov ecx, esi
not ecx
and ecx, 0xff9a17ed
add ecx, edx
add ecx, 0xe7d52a65
and esi, 0xff9a17ed
add esi, ecx
mov dword [esp + 0x9c], esi
test eax, eax
mov ecx, 0xf7fa4be1
mov eax, 0xd5294218
jmp 0x1004e195
cmp eax, 0x400d2b28
jle 0x1004c13c
cmp eax, 0x4166ace6
jg 0x1004cbf3
cmp eax, 0x400d2b29
je 0x1004d812
cmp eax, 0x40e7294c
jne 0x1004af10
mov eax, dword [esp]
cmp eax, 0xa89b8dd2
mov eax, 0xa2d93d56
mov edx, 0x7dd7cdc0
cmovl eax, edx
jmp 0x1004af10
cmp eax, 0xd2b6e72
jle 0x1004c177
cmp eax, 0xfaf0ba2
jg 0x1004cc23
cmp eax, 0xd2b6e73
je 0x1004d81c
cmp eax, 0xdc54786
jne 0x1004af10
mov eax, dword [esp + 0x88]
lea ecx, [eax + 0x11c718c3]
not ecx
mov edx, ecx
and edx, 0x11c718c2
lea eax, [edx + eax*2]
add eax, 0x238e3186
or ecx, 0x11c718c2
add eax, ecx
add eax, 0xdc71ce7a
imul ecx, eax, 0xc7f54f25
imul eax, eax, 0x701561b6
add eax, 0xf883682a
and eax, 0xe1b0d4d2
add eax, ecx
add eax, 0x3be4bea
add ecx, 0x3be4bea
and ecx, 0xf0d86a69
lea eax, [eax + ecx*2]
imul ecx, eax, 0x40ae34ad
lea eax, [ecx + 0x36222184]
mov edx, 0x9ddde7b
sub edx, ecx
and edx, 0x14a9708d
add edx, ecx
add edx, 0x36222184
xor eax, 0xeb568f72
add eax, edx
mov edx, 0xc9ddde7b
sub edx, ecx
or edx, 0x14a9708d
sub eax, edx
lea ecx, [eax - 0x14a9708d]
mov edx, dword [esp + 0xe8]
mov dword [edx], ecx
mov edx, dword [esp + 0xec]
mov ecx, dword [esp + 0x10c]
cmp edx, 0x10
jae 0x1004e23e
mov ecx, dword [esp + 0x4c]
jmp 0x1004e240
cmp eax, 0x797973a7
jle 0x1004c1b2
cmp eax, 0x7dd7cdbf
jg 0x1004d318
cmp eax, 0x797973a8
je 0x1004d836
cmp eax, 0x7a7031bb
jne 0x1004af10
mov eax, dword [esp]
cmp eax, 0xb72a2da9
mov eax, 0x26310112
mov edx, 0x790f27ca
cmovl eax, edx
jmp 0x1004af10
cmp eax, 0xc857dbf8
jg 0x1004c1ed
cmp eax, 0xc09e1651
jle 0x1004d36b
cmp eax, 0xc09e1652
je 0x1004d840
cmp eax, 0xc4fc2d32
jne 0x1004af10
mov eax, dword [esp]
cmp eax, 0x1fc503b1
mov eax, 0x7afa1df
mov edx, 0x603f27c0
cmovl eax, edx
jmp 0x1004af10
cmp eax, 0x1da2183c
jg 0x1004c228
cmp eax, 0x140ef566
je 0x1004d85a
cmp eax, 0x1598064a
je 0x1004d88c
cmp eax, 0x165cdb4f
jne 0x1004af10
lea eax, [esp + 0x118]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10c], eax
mov dword [esp + 0xac], 0
mov ecx, 0x4751529b
movzx eax, byte [esp + 0x26]
mov byte [esp + 0x22], al
mov eax, 0x400d2b29
jmp 0x1004af10
cmp eax, 0xdbc31826
jg 0x1004c263
cmp eax, 0xceca3f81
je 0x1004d8a6
cmp eax, 0xcfbeb706
je 0x1004d8c0
cmp eax, 0xd317891b
jne 0x1004af10
mov esi, dword [esp + 0x38]
movzx eax, byte [esp + 0x11d]
mov byte [esp + 6], al
shr al, 4
mov ecx, eax
not cl
movzx edi, cl
mov ebx, ecx
add bl, cl
add bl, al
mov edx, eax
mov dh, bl
add dh, 1
or dh, 0xfc
mov bh, 2
sub bh, bl
and bh, 3
add bl, bl
mov al, 4
sub al, bl
and al, 6
add al, dh
add bh, dh
sub al, bh
mov bh, dl
mov byte [esp + 0x18], dl
mov bl, dl
and bl, 0xd
mov ah, dl
xor ah, 0x8d
add ah, bl
xor bl, 0x8d
or bh, 0x72
add ah, bh
mov dh, cl
or dh, 0x72
add dh, ah
add dh, 2
mov ah, bl
or ah, dh
add ah, ah
not dh
or dh, bl
add dh, ah
add dh, bh
add dh, 2
mov ah, dh
xor ah, 0x8e
mov ch, dh
or ch, 0x8e
add ch, ah
not dh
or dh, 0x8e
add dh, ch
add dh, 0x73
mov bh, al
and bh, 0xde
add al, bh
xor bh, 0xde
add bh, al
mov bl, 0xbb
sub bl, bh
and bl, dh
not dh
mov al, bh
add al, 0x44
or al, dh
add al, dh
add bl, al
add bl, bh
add bl, 0x45
mov edx, ebx
not dl
mov ah, bl
xor ah, 0x21
add ah, bl
or bl, 0xde
add bl, ah
or dl, 0x21
add dl, bl
mov ah, byte [esp + 0x18]
mov al, ah
add al, ah
lea ebx, [edi + edi*2]
add bl, al
and al, 0x18
mov ch, ah
and ch, 0xc
sub al, ch
mov dh, ah
xor dh, 0xfc
add dh, ah
and cl, 3
add cl, dh
not ch
add ch, cl
mov dh, ch
add dh, 0xfe
mov cl, 0x81
sub cl, ch
and cl, al
add cl, cl
mov ah, al
or ah, dh
add ah, al
sub cl, ah
mov ah, byte [esi]
mov byte [esp + 8], ah
xor dh, al
not dh
add dh, cl
add dh, ch
add dh, dl
add bl, 2
mov eax, ebx
or al, 0xf6
xor bl, 9
add bl, al
mov ecx, ebx
add cl, 1
movzx eax, byte [esp + 0x18]
mov dl, al
xor dl, 0xf6
or al, 9
add al, dl
mov dl, 0xfe
sub dl, al
add al, 1
mov ah, cl
and ah, al
and dl, cl
add dl, ah
mov ah, byte [esp + 8]
shl ah, 2
mov byte [esp + 5], ah
add dh, 0xdf
not bl
add bl, dl
or al, cl
add al, bl
mov ecx, eax
or cl, 0xf6
mov dl, al
xor dl, 0xf6
add dl, cl
mov ecx, eax
xor cl, 9
add cl, dl
not al
or al, 9
add al, cl
add al, 3
mov dl, dh
and dl, 0x39
add dl, dh
mov cl, dh
xor cl, 0x39
add cl, dl
or dh, 0x39
sub cl, dh
add cl, 0x3a
mov edx, ecx
add dl, cl
mov ch, cl
not ch
and ch, al
add ch, dl
add ch, al
or cl, al
sub ch, cl
mov cl, ch
and cl, 0xc6
mov eax, ecx
add al, ch
xor cl, 0xc6
add cl, al
not ch
mov al, ch
and al, 0x39
add al, cl
or ch, 0xc6
sub al, ch
movzx edx, byte [esp + 0x18]
and dl, 3
mov ecx, edx
not cl
add cl, cl
add cl, dl
add cl, al
mov edx, ecx
add dl, 0x36
mov eax, edx
xor al, 0x6f
add al, cl
or dl, 0x90
add dl, al
mov al, 0xc9
sub al, cl
or al, 0x6f
add al, dl
mov ecx, eax
add cl, al
mov dl, 0xa6
sub dl, al
add al, 0x59
mov ah, al
and ah, 0x11
add ah, al
and dl, 0xee
movzx edx, dl
lea ebx, [edx + edx*2]
neg ebx
add bl, ah
xor al, 0xee
add al, bl
sub al, cl
mov bl, 0xe7
sub bl, al
add al, 0x18
mov ecx, eax
or cl, 0x70
add cl, al
or bl, 0x70
add bl, cl
mov ah, 0xec
sub ah, bl
add bl, 0x13
mov dh, byte [esp + 5]
mov ch, dh
not ch
mov dl, byte [esp + 8]
shl dl, 3
mov byte [esp + 8], dl
mov al, ch
mov bh, ch
sub al, dl
add al, dh
mov dl, dh
or dl, 1
mov byte [esp + 0x18], dl
add al, dl
neg al
and al, bl
mov ecx, eax
add cl, al
mov ch, cl
neg ch
mov dl, ch
and dl, 0x26
sub dl, al
add dl, cl
and ch, 0xd8
add ch, dl
mov byte [esp + 7], ch
mov cl, dh
and cl, ah
mov al, bl
add ah, ah
add ah, bl
mov ch, bh
or bl, bh
add bl, cl
mov bh, dh
or al, dh
mov cl, bl
not cl
add cl, al
shl cl, 2
sub bl, al
movzx edx, bl
lea edx, [edx + edx*2]
add dl, cl
add dl, byte [esp + 7]
mov bl, dl
add bl, 3
mov cl, bl
xor cl, 0x49
add cl, dl
mov al, 0xfe
sub al, ah
add ah, 1
mov dh, ah
and dh, bh
and al, bh
mov byte [esp + 7], al
mov al, ah
xor al, bh
mov byte [esp + 0x2d], al
mov dl, bh
or bh, ah
or ah, ch
add ch, ch
add ch, byte [esp + 0x18]
mov al, ch
xor al, 0xda
add al, ch
or ch, 0xda
sub al, ch
mov ch, byte [esp + 8]
and ch, 0xb0
and dl, 0xd8
sub ch, dl
or ch, al
mov al, ch
add al, ch
xor al, 0x4b
mov dl, ch
or ch, 0xda
add ch, al
not dl
or dl, 0x25
add dl, ch
add dl, 2
xor bl, 0xb6
add bl, cl
add bl, 0xbb
mov al, bl
and al, dl
add dl, al
add dl, bl
add dl, 1
mov ecx, eax
not cl
add cl, dl
mov ch, cl
and ch, 0x49
add ch, cl
add ch, al
sub al, dl
or al, 0x49
add al, dl
sub ch, al
add dh, dh
sub dh, byte [esp + 7]
mov al, byte [esp + 0x2d]
add al, dh
sub bh, al
add ah, bh
add ah, ch
add ah, 0x58
mov al, ah
add al, ah
mov cl, ah
or cl, 0xf1
sub al, cl
mov cl, ah
xor cl, 0xf1
add cl, al
not ah
or ah, 0xf1
add ah, cl
add ah, 0xf2
movzx ecx, ah
imul eax, ecx, 0x31
mov edx, eax
and dl, 0x64
add dl, dl
imul ecx, ecx, 0x62
sub cl, dl
mov edx, eax
xor dl, 0x9b
add dl, cl
mov ecx, eax
or cl, 0x64
add cl, dl
not al
or al, 0x64
add al, cl
movzx eax, al
imul eax, eax, 0xffffffd1
add al, 0xfe
mov ecx, eax
or cl, 0x5c
add cl, al
not al
or al, 0x5c
add al, cl
add al, 0x49
mov byte [esp + 0x26], al
mov eax, dword [esp + 0x44]
movzx ecx, byte [esp + 0x26]
mov byte [eax], cl
mov ch, byte [esp + 0x11e]
shr ch, 2
mov ah, ch
not ah
mov cl, ah
or cl, ch
mov al, ch
and al, 0x30
mov edx, eax
mov byte [esp + 5], al
and cl, 0xf0
mov al, ah
or al, 0xf0
mov byte [esp + 0x18], al
add cl, al
add cl, 0x10
mov dh, cl
not dh
add dh, dh
add dh, cl
mov byte [esp + 8], ch
mov bl, ch
mov cl, dl
add cl, dl
mov al, ch
sub al, cl
mov bh, ch
xor bh, 0x30
add bh, al
mov cl, ah
and cl, 0xf
add bh, cl
add bh, dl
add bh, 0x31
and bh, ch
mov al, ch
add al, ch
mov ch, al
and ch, 0x1e
mov dl, byte [esp + 8]
and dl, 0xf
mov byte [esp + 8], dl
sub ch, dl
xor bl, 0xf
or bl, ch
add dh, 1
mov ch, bl
neg ch
and ch, dh
mov dl, bl
add dl, 0xff
and dl, dh
add dl, ch
sub bl, dl
and al, 0x60
mov ch, byte [esp + 5]
xor ch, 0xf0
add ch, al
or ch, cl
add cl, ah
add cl, byte [esp + 8]
or ah, 0xf
sub cl, ah
sub ch, byte [esp + 0x18]
or ch, cl
mov cl, bh
not cl
movzx eax, cl
add cl, cl
lea eax, [eax + eax*2]
add bh, bh
add bh, 2
add al, bh
add bh, cl
mov dl, bh
not dl
and dl, al
mov cl, al
or cl, bh
not al
or al, bh
add al, dl
not cl
sub cl, al
mov al, ch
not al
add al, bl
mov edx, eax
and dl, 0x6c
add dl, al
sub ch, bl
and ch, 0x93
add ch, dl
xor al, 0x6c
add al, ch
add al, cl
movzx eax, al
imul eax, eax, 0x65
add al, 0x65
mov ecx, eax
and cl, 0x95
mov edx, eax
xor dl, 0x6a
add dl, cl
mov ecx, eax
xor cl, 0x95
add cl, dl
and al, 0x6a
add al, cl
add al, 0x97
movzx ecx, al
imul eax, ecx, 0xffffff93
imul ecx, ecx, 0x26
and cl, 0xbc
mov edx, eax
or dl, 0xde
add dl, al
sub dl, cl
mov ch, byte [esp + 6]
shl ch, 4
mov cl, al
xor cl, 0x21
add cl, dl
and al, 0xde
add al, cl
add al, 0xde
mov cl, al
and cl, ch
not ch
mov edx, eax
not dl
or dl, ch
add dl, cl
and ch, al
add ch, dl
add ch, 1
movzx eax, ch
not ch
shl ch, 2
lea eax, [eax + eax*2]
add al, ch
mov ecx, eax
add cl, 3
and cl, 0xc5
mov dl, 0xfc
sub dl, al
and dl, 0xc5
add dl, cl
sub al, dl
mov dl, 0x72
sub dl, al
add al, 0x8d
and dl, 0xc5
mov ecx, eax
xor cl, 0x3a
add cl, dl
and al, 0xc5
sub cl, al
add cl, 0xb4
mov eax, ecx
and al, 0xed
add al, cl
mov edx, ecx
xor dl, 0xed
add dl, al
or cl, 0xed
sub cl, dl
add cl, 0xee
mov byte [esp + 0x11a], cl
mov eax, dword [esp + 0x58]
lea ecx, [eax - 0x756bcc6a]
mov edx, ecx
or edx, 0x2982dbe2
sub eax, edx
and ecx, 0xd67d241d
lea edx, [eax + ecx]
add eax, ecx
add eax, 0xdd99eb5b
add edx, edx
add edx, 0xbb33d6b6
or edx, 0xead798d2
xor eax, 0x8a943396
lea ecx, [edx + eax]
add eax, edx
add eax, 1
mov edx, eax
and edx, 0x2982dbe2
add edx, ecx
add edx, 1
lea esi, [ecx + ecx]
add esi, 2
xor esi, 0x5305b7c4
add esi, edx
mov edx, eax
or edx, 0xd67d241d
add edx, esi
xor eax, 0xd67d241d
add eax, edx
sub eax, ecx
add eax, 0xd67d241e
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x58]
cmp eax, 2
mov ecx, 0x672a076a
mov eax, 0x1a6a18bb
cmovge ecx, eax
mov eax, 0x400d2b29
jmp 0x1004af10
cmp eax, 0x4fb479c6
jg 0x1004c29e
cmp eax, 0x475c4a31
je 0x1004d933
cmp eax, 0x482cfc8a
je 0x1004d94d
cmp eax, 0x4b3dda3a
jne 0x1004af10
mov eax, dword [esp]
cmp eax, 0x1fdaea56
mov eax, 0x797973a8
mov edx, 0x3a4a045a
cmove eax, edx
jmp 0x1004af10
cmp eax, 0x85fd5583
jg 0x1004c2d9
cmp eax, 0x8049d15a
je 0x1004d967
cmp eax, 0x84a480c7
je 0x1004d981
cmp eax, 0x850f8e0e
jne 0x1004af10
movsx edx, byte [esp + 0x15]
mov ecx, dword [esp + 0x34]
call fcn.1004e360
jmp 0x1004e322
cmp eax, 0x2fc6754c
je 0x1004da61
cmp eax, 0x35810b96
je 0x1004da7b
cmp eax, 0x383aa4e2
jne 0x1004af10
mov eax, dword [esp]
cmp eax, 0xbbb8c1b8
mov eax, 0x44abfd30
mov edx, 0xc857dbf9
cmovl eax, edx
jmp 0x1004af10
cmp eax, 0xf01e336e
je 0x1004da97
cmp eax, 0xf13e77d8
je 0x1004dbe0
cmp eax, 0xf5610226
jne 0x1004af10
mov eax, dword [esp + 0x3c]
movzx eax, byte [esp + 0x17]
mov byte [esp + 0x21], al
movzx eax, byte [esp + 0x16]
mov byte [esp + 0x20], al
mov eax, 0x400d2b29
mov dword [esp + 0x98], 0
mov ecx, 0xdf5f3b0d
movzx edx, byte [esp + 0x15]
mov byte [esp + 0x1f], dl
jmp 0x1004af10
cmp eax, 0x60f55894
je 0x1004dbfa
cmp eax, 0x61c76213
je 0x1004dc14
cmp eax, 0x68aff268
jne 0x1004af10
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x80]
cmp eax, dword [esp + 0xcc]
mov ecx, 0xa739bde7
mov eax, 0x411a1e93
jmp 0x1004af04
cmp eax, 0xa5485e82
je 0x1004dc2e
cmp eax, 0xa58d56fb
je 0x1004aeb1
cmp eax, 0xa83f2bd6
jne 0x1004af10
mov edx, dword [esp + 0xa8]
lea eax, [edx - 0x41f56237]
mov ecx, eax
not ecx
and eax, 0xbe0a9dc9
add eax, edx
add eax, 0xbe0a9dc9
and ecx, 0xbe0a9dc9
add ecx, eax
imul eax, ecx, 0x1dc9f573
lea ecx, [eax - 0x7cf87209]
mov edx, ecx
and edx, 0xf8b9a97e
add eax, edx
add eax, 0x83078df7
mov edx, ecx
xor edx, 0xf8b9a97e
add edx, eax
or ecx, 0xf8b9a97e
sub edx, ecx
imul eax, edx, 0xdfca37bb
lea ecx, [eax + 0x7009cf79]
mov edx, ecx
xor edx, 0x9bc29be0
add edx, eax
mov eax, ecx
not eax
and eax, 0x643d641f
add eax, edx
and ecx, 0x9bc29be0
lea edx, [eax + ecx]
add eax, ecx
add eax, 0xbcc6b5a
mov ecx, eax
xor ecx, 0x8ff63087
add ecx, edx
add ecx, 0xbcc6b5a
xor eax, 0x7009cf78
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x8ff63088
and eax, 0x9bc29be0
lea ecx, [eax + edx]
add ecx, 0x8ff63088
not eax
lea eax, [eax + ecx + 0x643d6421]
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0xc0], ecx
movzx ecx, byte [esp + 0x23]
mov byte [esp + 0x12], cl
movzx ecx, byte [esp + 0x24]
mov byte [esp + 0x13], cl
movzx ecx, byte [esp + 0x25]
mov byte [esp + 0x14], cl
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xf8]
cmp dword [eax], 0x10
mov eax, dword [esp + 0xfc]
jae 0x1004e266
mov eax, dword [esp + 0xf4]
jmp 0x1004e268
cmp eax, 0x1f252c79
je 0x1004dc48
cmp eax, 0x225f8130
je 0x1004dc62
cmp eax, 0x26310112
jne 0x1004af10
mov eax, dword [esp]
cmp eax, 0xb72a2da9
mov eax, 0x797973a8
mov edx, 0x9ebcd0eb
cmove eax, edx
jmp 0x1004af10
cmp eax, 0xe4fd55c0
je 0x1004dc7c
cmp eax, 0xe8266dd2
je 0x1004dc96
cmp eax, 0xeb10ce9e
jne 0x1004af10
mov eax, dword [esp]
cmp eax, 0x77f6709c
mov eax, 0x3a30eabc
mov edx, 0x99fb31e6
cmovl eax, edx
jmp 0x1004af10
cmp eax, 0x599bc9e7
je 0x1004dcb0
cmp eax, 0x59e7bb65
je 0x1004dcc3
cmp eax, 0x5b91a3c1
jne 0x1004af10
mov eax, dword [esp]
cmp eax, 0xaa6e5c4f
mov eax, 0x7a7031bb
mov edx, 0x40e7294c
cmovl eax, edx
jmp 0x1004af10
cmp eax, 0x99fb31e6
je 0x1004dcd0
cmp eax, 0x9ab9e3f4
je 0x1004dcea
cmp eax, 0x9dce5b0c
jne 0x1004af10
mov dword [esp + 0x9c], 0xffffffff
mov ecx, 0xf7fa4be1
mov eax, 0x400d2b29
jmp 0x1004af10
cmp eax, 0x3d7d1d3f
je 0x1004dd1a
cmp eax, 0x3f3db25d
je 0x1004dd34
cmp eax, 0x3f913567
jne 0x1004af10
mov eax, dword [esp]
cmp eax, 0x6782f2d5
mov eax, 0x797973a8
mov edx, 0x2987d03e
cmove eax, edx
jmp 0x1004af10
cmp eax, 0x50171da
je 0x1004dd4e
cmp eax, 0x58b576c
je 0x1004dd68
cmp eax, 0x7afa1df
jne 0x1004af10
mov eax, dword [esp]
cmp eax, 0x1fc503b1
mov eax, 0x797973a8
mov edx, 0xefad1101
cmove eax, edx
jmp 0x1004af10
cmp eax, 0x750edf0e
je 0x1004dd82
cmp eax, 0x7547ff7b
je 0x1004dd9c
cmp eax, 0x790f27ca
jne 0x1004af10
mov eax, dword [esp]
cmp eax, 0xaa6e5c4f
mov eax, 0x797973a8
mov edx, 0xdc54786
cmove eax, edx
jmp 0x1004af10
cmp eax, 0xc857dbf9
je 0x1004ddf5
cmp eax, 0xcc3cbc2a
je 0x1004de0f
cmp eax, 0xce629830
jne 0x1004af10
mov eax, dword [esp]
cmp eax, 0x9af644d
mov eax, 0xf6b2bed4
mov edx, 0x1598064a
cmovl eax, edx
jmp 0x1004af10
cmp eax, 0x1da2183d
je 0x1004de29
cmp eax, 0x1e9cfefb
je 0x1004de43
cmp eax, 0x1f104296
jne 0x1004af10
mov eax, dword [esp]
cmp eax, 0xd5294218
mov eax, 0x389a8ec0
mov edx, 0x750edf0e
cmovl eax, edx
jmp 0x1004af10
cmp eax, 0xdbc31827
je 0x1004de5f
cmp eax, 0xdc3e1e26
je 0x1004de72
cmp eax, 0xe0f73f2a
jne 0x1004af10
mov eax, dword [esp]
cmp eax, 0x24c2391a
mov eax, 0x797973a8
mov edx, 0x11d375f3
cmove eax, edx
jmp 0x1004af10
cmp eax, 0x4fb479c7
je 0x1004de8c
cmp eax, 0x519c60b7
je 0x1004dea6
cmp eax, 0x57098c8e
jne 0x1004af10
mov eax, dword [esp]
cmp eax, 0xf61b0491
mov eax, 0x4fb479c7
mov edx, 0xaba2948c
cmovl eax, edx
jmp 0x1004af10
cmp eax, 0x85fd5584
je 0x1004dec0
cmp eax, 0x8651abc7
je 0x1004deca
cmp eax, 0x8d3d562f
jne 0x1004af10
mov eax, dword [esp]
cmp eax, 0xbbb8c1b8
mov eax, 0x797973a8
mov edx, 0x68aff268
cmove eax, edx
jmp 0x1004af10
cmp eax, 0x3a4a045a
je 0x1004dee4
cmp eax, 0x3cd98f9c
jne 0x1004af10
mov eax, dword [esp]
cmp eax, 0x672a076a
mov eax, 0xb8254f0e
mov edx, 0x482cfc8a
cmovl eax, edx
jmp 0x1004af10
cmp eax, 0xf7f76711
je 0x1004e09b
cmp eax, 0xfb2f7bbf
jne 0x1004af10
mov eax, dword [esp]
cmp eax, 0x985639b1
mov eax, 0x797973a8
mov edx, 0x2a064b03
cmove eax, edx
jmp 0x1004af10
cmp eax, 0x72868459
je 0x1004e0b5
cmp eax, 0x72cf6735
jne 0x1004af10
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x94]
mov byte [eax], cl
mov esi, ecx
mov bh, byte [esp + 0x1d]
mov dl, bh
shr dl, 4
mov eax, edx
not al
add al, al
mov ecx, eax
or cl, 0xf8
add cl, dl
mov ah, dl
and ah, 3
add cl, ah
add cl, 1
mov ch, dl
sub ch, cl
not cl
add cl, dl
add ch, ch
sub ch, cl
add ch, 0xfe
mov cl, ch
not cl
add ch, ch
mov dh, cl
and dh, 6
add dh, ch
or cl, 6
add cl, dh
add cl, 0xf4
mov ch, cl
and ch, 0x78
add ch, ch
mov dh, cl
add dh, cl
sub dh, ch
xor cl, 7
add cl, dh
mov dh, dl
add dh, dl
xor dh, 6
mov ch, dl
xor ch, 0xfc
add ch, dh
add ch, 1
mov dh, 0x1b
sub dh, cl
add cl, 0xe4
mov bl, dh
and bl, ch
add bl, cl
add bl, ch
xor cl, ch
not cl
add cl, bl
or dh, ch
sub cl, dh
mov ch, cl
not ch
mov dh, ch
and dh, 0x1c
mov bl, cl
or bl, 0x1c
add bl, dh
add cl, cl
xor cl, 0xc6
add cl, bl
add ch, ch
or ch, 0x38
sub cl, ch
and al, 6
add al, ah
mov ah, dl
and ah, 0xc
add al, ah
or dl, 3
sub al, dl
or al, ah
mov edx, eax
not dl
and dl, 0x76
mov ah, al
xor ah, 0x89
add ah, dl
mov edx, eax
xor dl, 0x76
add dl, ah
mov ah, al
add ah, al
and ah, 0x12
mov ch, al
and ch, 0x89
or ah, ch
xor ah, 0x89
or al, 0x76
sub ah, al
add ah, ch
add ah, 0xed
mov al, 0xfe
sub al, dl
and al, ah
add al, dl
add al, 1
xor al, 0x89
add al, cl
add al, 0x1c
mov ecx, eax
not cl
mov edx, eax
and dl, 0x67
mov ah, dl
add ah, dl
add al, al
sub al, ah
and cl, 0x98
add cl, al
add cl, dl
add cl, 0xcf
movzx ecx, cl
mov eax, ecx
shl eax, 5
sub eax, ecx
mov dl, 0x2a
sub dl, al
add al, 0x55
mov bl, al
and bl, 0xa7
add bl, al
and dl, 0x58
movzx edx, dl
lea edx, [edx + edx*2]
neg edx
add dl, bl
xor al, 0x58
add al, dl
imul ecx, ecx, 0xffffffc2
add cl, al
mov al, 0xa1
sub al, cl
add cl, 0x5e
mov edx, ecx
or dl, 0x51
add dl, cl
or al, 0x51
add al, dl
movzx ecx, al
mov eax, ecx
shl eax, 5
add eax, ecx
neg eax
add al, 0xdf
mov ecx, eax
not cl
mov edx, eax
and dl, 0x20
add dl, al
and cl, 0xdf
add cl, dl
xor al, 0x20
add al, cl
movzx ecx, byte [esp + 0x1e]
shl cl, 2
add al, 0x59
or al, cl
mov ecx, eax
and cl, 0x20
mov edx, eax
not dl
or dl, 0xdf
add dl, cl
xor cl, 0x20
and al, 0xdf
add al, dl
add al, 1
or cl, al
and al, 0xdf
movzx eax, al
lea eax, [eax + eax*2]
neg eax
mov edx, ecx
shl dl, 2
xor dl, 0x83
add dl, al
or cl, 0xdf
movzx eax, cl
lea eax, [eax + eax*2]
add al, dl
add al, 1
mov edx, eax
and dl, 0x72
mov ecx, eax
or cl, 0x8d
sub cl, dl
add cl, al
add cl, 0xe5
mov eax, ecx
and al, 0x8e
xor cl, 0x71
sub cl, al
not al
add al, cl
add al, 2
mov ecx, eax
and cl, 0xfe
add cl, al
or al, 1
not cl
add cl, al
movzx eax, cl
imul eax, eax, 0x5f
mov ecx, eax
add cl, 0x33
mov edx, ecx
xor dl, 0x6d
add dl, al
mov eax, ecx
not al
and al, 0x92
add al, dl
and cl, 0x6d
add cl, al
movzx eax, cl
imul eax, eax, 0xffffff9f
add al, 0x99
mov ecx, eax
xor cl, 0x67
add cl, al
xor al, 0x98
add al, cl
add al, 0x9a
mov ecx, eax
and cl, 5
add al, cl
add al, 6
mov edx, ecx
not dl
add dl, al
mov ch, dl
and ch, 0x67
add ch, dl
add ch, cl
sub cl, al
or cl, 0x67
add cl, al
sub ch, cl
add ch, 0x67
mov byte [esp + 0x15], ch
shl bh, 4
mov byte [esp + 8], bh
movzx ecx, byte [esp + 0xe]
shr cl, 2
mov edx, ecx
not dl
mov ah, cl
and ah, 0x30
mov al, cl
xor al, 0x70
add al, ah
mov ah, dl
or ah, 0x70
mov ch, cl
or ch, 0x70
add ch, ah
sub al, ch
add al, al
mov ah, al
add ah, 2
add al, 0xfe
mov ch, cl
xor ch, 0xf
mov dh, cl
add dh, ch
mov ebx, ecx
or bl, 0xf
sub dh, bl
add dh, ch
or dl, 0xf
add dl, dh
add dl, 1
and dl, cl
mov ch, al
or ch, 0x46
mov dh, ah
sub dh, ch
mov ch, al
add ch, al
or ch, 0x8e
add ch, dh
or al, 0xb9
add al, ch
sub al, ah
add al, 0xb9
mov ah, al
or ah, dl
add ah, al
not al
or al, dl
add al, ah
add al, 1
mov ah, al
and ah, 0x46
add ah, al
mov edx, eax
xor dl, 0x46
add dl, ah
or al, 0x46
sub dl, al
add dl, 0x46
mov eax, edx
and al, 0xf8
add al, dl
not dl
or dl, 7
add dl, al
sub dl, cl
add dl, 8
mov eax, edx
and al, 7
add al, dl
or dl, 0xf8
sub al, dl
movzx eax, al
lea ecx, [eax + eax*8]
lea eax, [eax + ecx*4]
add al, 0x18
movzx eax, al
imul edx, eax, 0x53
imul eax, eax, 0x5a
mov ecx, edx
or cl, 0x47
add cl, al
and dl, 0x47
add dl, cl
mov ch, dl
add ch, 0x72
mov cl, 0x8d
sub cl, dl
mov ebp, edx
movzx edi, cl
mov eax, ecx
or al, 0xde
xor cl, 0x21
add cl, al
mov ah, cl
add ah, 1
mov bl, ch
xor bl, 0xde
mov al, ch
or al, 0x21
add al, bl
mov bl, 0xfe
sub bl, al
add al, 1
mov bh, ah
and bh, al
and bl, ah
add bl, bh
not cl
add cl, bl
or al, ah
add al, cl
mov cl, al
or cl, 0xde
mov ah, al
xor ah, 0xde
add ah, cl
mov cl, al
xor cl, 0x21
add cl, ah
not al
or al, 0x21
add al, cl
mov cl, 0xfd
sub cl, al
add al, 2
mov bh, byte [esp + 8]
mov dl, bh
not dl
mov ah, al
and ah, dl
mov bl, cl
and bl, dl
add bl, ah
or al, dl
mov byte [esp + 0x18], dl
add al, bl
mov ah, bh
mov dh, bh
and ah, cl
add ah, al
or cl, dl
sub ah, cl
mov al, ah
not al
add al, al
add al, ah
or dh, ch
add dh, al
add dh, 0x68
mov byte [esp + 5], dh
lea eax, [edi + edi*2]
neg eax
mov bh, ch
or bh, 0x80
mov edx, ebp
sub bh, dl
mov cl, 0xd
sub cl, dl
shl dl, 2
sub al, dl
add al, 0x34
mov edx, eax
and dl, 0x7f
not al
mov dh, al
and dh, 0x80
or dh, dl
or al, 0x7f
add al, dh
add al, 0x81
mov bl, 0xf1
sub bl, bh
add bh, 0xe
xor bl, bh
and bl, al
xor bl, bh
mov edx, eax
xor dl, bh
mov byte [esp + 6], dl
or bh, al
mov eax, ecx
and al, 0xa
mov ah, ch
and ah, 0xa
or cl, 0xf5
add cl, ah
and ch, 0xf5
add ch, cl
add ch, 1
or al, ch
and ch, 0xf5
movzx ecx, ch
lea edx, [ecx + ecx*2]
mov ecx, eax
shl cl, 2
xor cl, 0xd4
add cl, dl
mov ch, byte [esp + 5]
mov ah, ch
add ah, ch
and ah, 0xce
mov dl, ah
xor dl, 0xce
add dl, ch
mov ch, byte [esp + 8]
mov byte [esp + 7], ch
add dl, ah
mov byte [esp + 5], dl
or al, 0xf5
movzx eax, al
lea eax, [eax + eax*2]
neg eax
add al, cl
mov edx, eax
mov cl, ch
xor dl, ch
sub bl, byte [esp + 6]
add bh, bl
mov bl, bh
mov bh, al
and bh, byte [esp + 0x18]
mov ch, al
mov byte [esp + 6], al
add dl, dl
sub dl, bh
add bh, al
and al, cl
mov dh, byte [esp + 7]
xor dh, 0x7f
xor cl, 0x80
or cl, bl
and dh, bl
sub bl, cl
mov ch, dh
sub ch, bl
mov cl, ch
add cl, ch
add cl, ch
mov ch, dh
not ch
add ch, bl
add ch, cl
sub bl, dh
add bl, ch
mov ch, 0xfe
sub ch, bl
add ch, ch
add ch, bl
sub ch, byte [esp + 5]
mov cl, byte [esp + 6]
add cl, cl
sub cl, bh
add dl, byte [esp + 0x18]
add al, dl
add al, 1
or al, cl
add ch, 0x38
mov cl, al
add cl, al
sub cl, al
mov eax, ecx
not al
mov dl, ch
and dl, al
add dl, ch
add dl, cl
xor cl, ch
sub cl, dl
or al, ch
add al, cl
movzx eax, al
imul ecx, eax, 0xffffffa1
mov eax, ecx
add al, 0xa1
mov edx, eax
not dl
mov ah, al
xor ah, 0x9d
add ah, cl
and dl, 0x62
add dl, ah
and al, 0x9d
add al, dl
add al, 0x3f
mov ecx, eax
not cl
mov edx, eax
xor dl, 0xdb
add dl, al
and cl, 0x24
add cl, dl
and al, 0xdb
add al, cl
add al, 0xdc
mov ecx, eax
xor cl, 0x9d
add cl, al
xor al, 0x62
add al, cl
movzx eax, al
imul eax, eax, 0x61
add al, 0xe4
mov ecx, eax
and cl, 0x32
add cl, al
not al
add cl, al
or al, 0x32
sub cl, al
add cl, 0x32
mov edx, ecx
or dl, 5
add dl, cl
mov eax, ecx
xor al, 0xfa
add al, dl
or cl, 0xfa
sub al, cl
mov byte [esp + 8], al
movzx ecx, byte [esp + 0xe]
shl cl, 6
mov ch, cl
not ch
mov al, ch
add al, ch
add al, cl
or al, 1
mov byte [esp + 0x18], al
mov edx, eax
add dl, al
sub dl, al
mov dh, dl
mov eax, esi
xor dh, al
not dh
mov ebx, edx
and bl, al
add bl, dh
or dh, dl
add dh, al
sub bl, dh
or dl, al
add dl, bl
mov dh, dl
and dh, 0x62
add dh, dh
mov ebx, edx
sub bl, dh
mov dh, dl
xor dh, 0x1d
add dh, bl
mov ebx, edx
or bl, 0xe2
add bl, dh
or dl, 0x1d
add dl, bl
add dl, 0xc6
mov ebx, edx
or bl, 0x1d
add bl, dl
mov dh, dl
or dh, 0xe2
mov bh, dl
add bh, dl
or bh, 0xc4
add bh, bl
sub dh, bh
add dh, dl
mov bl, 0x1e
sub bl, dh
add dh, 0xe1
mov dl, al
neg dl
mov bh, al
add bh, 0xff
and bh, dh
add bh, dh
sub bh, al
or dl, bl
add dl, bh
mov dh, cl
and dh, al
add dh, cl
and ch, al
add ch, dh
mov dh, cl
or dh, al
sub ch, dh
mov dh, cl
xor dh, al
mov edi, esi
or dh, ch
mov ch, dh
add ch, dh
sub dh, ch
mov eax, edx
mov ch, dl
not ch
add al, 1
sub ch, dh
add ch, ch
mov ebx, eax
or bl, dh
add bl, ch
and al, dh
add al, bl
mov byte [esp + 6], al
or cl, 0x3c
movzx esi, cl
imul ebx, esi, 0x71
add bl, 0x84
mov ah, bl
add ah, bl
add ah, bl
mov ebx, esi
shl ebx, 5
sub ebx, esi
sub ebx, esi
add bl, ah
mov ecx, edi
mov ah, cl
not ah
add ah, ah
add ah, cl
mov esi, edi
add ah, 1
mov ch, ah
xor ch, 0xd0
or ah, 0x2f
add ah, ch
mov ecx, edi
mov dh, cl
add dh, cl
and dh, 0xa0
mov ch, cl
and ch, 0x2f
add ch, dh
mov edx, edi
sub ch, dl
mov dh, 0xfe
sub dh, ah
add ah, 1
mov cl, dh
and cl, ch
mov al, ah
or al, ch
add al, cl
xor ah, ch
not ah
add ah, al
or dh, ch
sub ah, dh
mov dh, 0xd8
sub dh, bl
mov al, dh
and al, ah
sub al, bl
mov ecx, ebx
add cl, 0x27
mov ch, cl
xor ch, ah
add al, ch
or cl, ah
add cl, al
not ch
add ch, ch
add ch, cl
or dh, ah
add dh, dh
sub ch, dh
add ch, 0xd9
mov ah, ch
not ah
add ah, ah
add ah, ch
add ah, ah
add ah, byte [esp + 6]
add ah, 0xb9
mov al, ah
and al, 0x49
mov ecx, eax
add cl, ah
mov edx, eax
xor dl, 0x49
add dl, cl
or ah, 0xb6
sub dl, ah
add dl, al
add dl, 0xb6
movzx eax, byte [esp + 0x18]
mov ah, al
mov ecx, edi
xor ah, cl
or al, cl
add ah, ah
add al, ah
sub ah, al
movzx ecx, ah
shl ah, 2
add ecx, ecx
lea ecx, [ecx + ecx*2]
neg ecx
add cl, ah
mov eax, edx
mov ah, dl
or ah, cl
not dl
or dl, cl
add cl, cl
sub al, cl
add ah, al
add dl, ah
movzx eax, dl
imul ecx, eax, 0xffffff97
add cl, 0x97
mov eax, ecx
not al
mov edx, ecx
and dl, 0xec
add dl, cl
and al, 0x13
add al, dl
xor cl, 0xec
add cl, al
movzx eax, cl
imul ecx, eax, 0x27
add cl, 0x35
mov eax, ecx
and al, 0xf1
mov edx, ecx
xor dl, 0xe
add dl, al
mov eax, ecx
xor al, 0xf1
add al, dl
and cl, 0xe
add cl, al
add cl, 0xf3
mov byte [esp + 0x17], cl
movzx edx, byte [esp + 8]
mov eax, edx
and al, 0x32
mov ecx, eax
xor cl, 0x32
add cl, dl
add cl, al
add cl, 0x9c
mov byte [esp + 0x16], cl
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x7c]
cmp eax, dword [esp + 0xc8]
mov ecx, 0x4263b838
mov eax, 0x1fdaea56
jmp 0x1004af04
cmp eax, 0xb4ad784c
je 0x1004e13d
cmp eax, 0xb8254f0e
jne 0x1004af10
mov eax, dword [esp]
cmp eax, 0x6cc8314f
mov eax, 0xdc3e1e26
mov edx, 0xf13e77d8
cmovl eax, edx
jmp 0x1004af10
cmp eax, 0x2a064b03
je 0x1004e157
cmp eax, 0x2ecc0f15
jne 0x1004af10
mov eax, dword [esp]
cmp eax, 0x108a5475
mov eax, 0x797973a8
mov edx, 0x140ef566
cmove eax, edx
jmp 0x1004af10
cmp eax, 0xefd8ea85
je 0x1004e1a2
cmp eax, 0xf0091316
jne 0x1004af10
mov eax, dword [esp]
cmp eax, 0xdf5f3b0d
mov eax, 0x797973a8
mov edx, 0xcfbeb706
cmove eax, edx
jmp 0x1004af10
cmp eax, 0x5f07cd8d
je 0x1004e1bc
cmp eax, 0x603f27c0
jne 0x1004af10
mov eax, dword [esp]
cmp eax, 0x1a6a18bb
mov eax, 0x797973a8
mov edx, 0x165cdb4f
cmove eax, edx
jmp 0x1004af10
cmp eax, 0xa2d93d56
je 0x1004e1d6
cmp eax, 0xa490c520
jne 0x1004af10
mov eax, dword [esp]
cmp eax, 0x97b24146
mov eax, 0xa5485e82
mov edx, 0xcc3cbc2a
cmovl eax, edx
jmp 0x1004af10
cmp eax, 0x4166ace7
je 0x1004e1f0
cmp eax, 0x44abfd30
jne 0x1004af10
mov eax, dword [esp]
cmp eax, 0xdf5f3b0d
mov eax, 0x57098c8e
mov edx, 0x225f8130
cmovl eax, edx
jmp 0x1004af10
cmp eax, 0xfaf0ba3
je 0x1004e20a
cmp eax, 0x11d375f3
jne 0x1004af10
mov eax, dword [esp + 0x38]
movsx eax, byte [eax]
push dword [esp + 0x50]
push eax
push dword [esp + 0x5c]
call fcn.100514f0
add esp, 0xc
mov esi, dword [esp + 0x64]
mov ebx, esi
not ebx
mov ecx, esi
xor ecx, 0x31849e9a
lea edx, [esi + esi]
mov dword [esp + 0x28], edx
or edx, 0x9cf6c2ca
add edx, ecx
mov ecx, esi
mov ebp, esi
or ecx, 0x31849e9a
lea edi, [edx + ecx]
lea esi, [ecx + edx]
add esi, 3
mov edx, ebx
and edx, 0x31849e9a
lea ecx, [ebx + edi]
add ecx, 3
or edx, ecx
add edx, edx
sub edx, ecx
sub edx, ecx
mov dword [esp + 8], ebp
sub esi, ebp
add esi, edx
or ecx, ebp
or ecx, 0xce7b6165
add ecx, esi
mov esi, ecx
and esi, 0xce7b6165
lea edx, [ecx + ecx]
xor edx, 0x9cf6c2ca
add edx, esi
or ecx, 0xce7b6165
sub edx, ecx
mov ecx, eax
not eax
or edx, eax
add edx, ecx
mov esi, edx
not esi
lea edx, [edx + esi*2]
lea esi, [edx + edx]
lea edi, [edx + edx]
add edi, 2
not edi
mov edx, edi
and edx, 0xb1dabb18
lea esi, [edx + esi*2]
add esi, 4
or edi, 0xb1dabb19
lea edx, [esi + edi]
add esi, edi
add esi, 2
lea edi, [ecx + ecx]
mov ebp, esi
xor esi, edi
not edi
and ebp, edi
add ebp, ebp
add edx, edx
add edx, 4
sub edx, ebp
lea edx, [edx + ecx*2]
add esi, edx
add esi, edi
sub esi, dword [esp + 8]
lea edx, [esi + esi]
add edx, 0x3e6a5e4a
and edx, 0xa21fd47a
mov edi, edx
xor edi, 0xa21fd47a
add edi, esi
add edi, 0x1f352f25
add edi, edx
mov edx, eax
and edx, 0xe5363be2
mov esi, eax
and esi, 0x9ac9c41d
lea edx, [esi + edx*2]
mov dword [esp + 0x30], ecx
mov ebp, ecx
and ebp, 0x9ac9c41d
mov esi, ebp
xor esi, 0x9ac9c41d
add esi, ebp
mov ebp, ecx
xor ebp, 0x65363be2
add ebp, esi
or eax, 0x9ac9c41d
sub ebp, eax
lea eax, [ecx + edx]
add eax, 1
mov ecx, eax
not ecx
mov esi, ebp
and esi, ecx
sub esi, eax
mov edx, eax
or edx, ebp
lea edx, [esi + edx*2]
xor eax, ebp
not eax
lea esi, [edx + eax*2]
or ecx, ebp
add ecx, ecx
sub esi, ecx
mov edx, ebx
and edx, 0x65363be2
mov ebp, dword [esp + 8]
and ebp, 0x65363be2
add ebp, edx
add ebp, ebx
mov eax, ebx
or eax, 0x65363be2
sub ebp, eax
mov ecx, dword [esp + 0x28]
and ecx, 0x3593883a
mov eax, ebx
and eax, 0x9ac9c41d
add eax, ecx
add eax, edx
mov ecx, ebx
or ecx, 0x9ac9c41d
sub eax, ecx
or eax, ebp
xor eax, esi
mov ecx, eax
not ecx
and ecx, 0xf18f7ef2
mov esi, eax
xor esi, 0xe70810d
add esi, ecx
mov edx, eax
xor edx, 0xf18f7ef2
add edx, esi
mov ecx, eax
and ecx, 0xe70810d
mov esi, ecx
xor esi, 0xe70810d
lea esi, [esi + ecx*2]
or eax, 0xf18f7ef2
sub esi, eax
lea eax, [esi + ecx]
add eax, 0xe31efde5
mov ecx, 0xfffffffe
sub ecx, edx
and ecx, eax
lea eax, [ecx + edx]
add eax, 1
xor eax, 0xf18f7ef2
lea ecx, [edi + eax]
add eax, edi
add eax, 0xfa461d52
mov edx, eax
xor edx, 0x928a23f8
add edx, ecx
or eax, 0x6d75dc07
add eax, edx
mov edi, 0x5b9e2ad
sub edi, ecx
mov ebp, dword [esp + 8]
mov ecx, ebp
and ecx, 0xd4060e11
mov esi, dword [esp + 0x28]
and esi, 0xa80c1c22
mov edx, esi
xor edx, 0xa80c1c22
add edx, ecx
lea ecx, [edx + esi]
add edx, esi
add edx, 0x57f3e3de
and ebx, 0x2bf9f1ee
mov esi, ebx
or esi, edx
add esi, esi
sub esi, ecx
mov ecx, ebp
or ecx, 0xd4060e11
add ecx, esi
and ebx, edx
lea edx, [ecx + ebx]
add ecx, ebx
add ecx, 0xa80c1c23
mov esi, ecx
and esi, 0x2bf9f1ee
not ecx
mov ebx, ecx
and ebx, 0xd4060e11
lea ebx, [ebx + ebx*2]
sub esi, ebx
or edi, 0x928a23f8
add edx, edx
add edx, 0x50183846
xor edx, 0xa80c1c22
add edx, esi
lea esi, [eax + edi]
lea edx, [edx + ecx*2]
add edx, 0xa80c1c24
lea ecx, [edi + eax]
add ecx, 0x6eccdcf9
mov eax, edx
not eax
and eax, ecx
lea edi, [eax + esi]
add edi, 0x6eccdcf9
mov eax, 0x91332306
sub eax, esi
and eax, edx
add eax, edi
add eax, edx
xor ecx, edx
sub eax, ecx
lea ecx, [eax + 0x3d03780]
mov edx, ecx
mov esi, ecx
xor esi, 0xad54c0b0
add esi, eax
or ecx, 0xad54c0b0
sub esi, ecx
not edx
add esi, eax
or edx, 0xad54c0b0
lea eax, [edx + esi]
add eax, 0xb4f52fb2
mov ecx, eax
or ecx, 0x1a332cd3
or eax, 0xe5ccd32c
add eax, ecx
add eax, 0x1a332cd4
mov ecx, eax
and ecx, 0x52ab3f4f
add ecx, ecx
mov edx, eax
sub edx, ecx
mov ecx, eax
or ecx, 0x4f
add ecx, edx
mov edx, eax
xor edx, 0xb0
add edx, ecx
and eax, 0x4f
add eax, edx
add al, 0x50
cmp dword [esp + 0x30], 1
sbb ecx, ecx
or cl, al
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x38]
mov byte [eax], cl
mov eax, dword [esp + 0x70]
movsx eax, byte [eax]
push dword [esp + 0x50]
push eax
push dword [esp + 0x5c]
call fcn.100514f0
add esp, 0xc
mov ecx, dword [esp + 0x64]
lea edx, [eax + eax]
mov esi, edx
and esi, 0x693e6486
add esi, eax
mov edi, eax
not edi
lea edi, [esi + edi*2]
and edx, 0x96c19b78
lea esi, [edi + edx]
mov ebx, 0xfffffffe
sub ebx, esi
add edx, edi
add edx, 1
mov edi, ecx
not edi
and edi, ebx
and ebx, ecx
add edi, ecx
or edx, ecx
add esi, ebx
add edx, edi
sub esi, edx
not ebx
add ebx, esi
imul ecx, ebx, 0x84dbe01d
lea edx, [ecx + 0x9b7c03a]
mov esi, edx
mov edi, edx
and edi, 0x627c30ed
xor edx, 0x627c30ed
add edx, edi
not esi
and esi, 0x9d83cf12
add esi, edx
lea edx, [ecx + esi]
add edx, 0x9b7c03a
add ecx, esi
add ecx, 0x6c33f128
add edx, edx
add edx, 0xc4f861dc
sub edx, ecx
add edx, 0x568725db
mov ecx, edx
and ecx, 0x627c30ed
xor edx, 0x627c30ed
add edx, ecx
add edx, ecx
imul ecx, edx, 0x8d55e235
lea edx, [ecx - 0x1e8c23e3]
mov esi, edx
not esi
and edx, 0x6a1d2c56
add ecx, edx
add ecx, 0xe173dc1d
and esi, 0x6a1d2c56
lea edx, [ecx + esi]
add esi, ecx
add esi, 0x95e2d3a9
lea ecx, [edx + edx]
add ecx, 0x2bc5a752
sub ecx, esi
add cl, 0x6b
cmp eax, 1
sbb edx, edx
or dl, cl
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x70]
mov byte [eax], dl
mov eax, dword [esp + 0x74]
movsx eax, byte [eax]
push dword [esp + 0x50]
push eax
push dword [esp + 0x5c]
call fcn.100514f0
add esp, 0xc
mov dword [esp + 8], eax
mov edx, dword [esp + 0x64]
mov ecx, edx
not ecx
lea esi, [edx + ecx*2]
add esi, 1
mov edi, esi
not edi
and edi, eax
mov ebx, esi
xor ebx, eax
sub ebx, edi
lea edi, [eax + ebx]
add ebx, eax
add ebx, 1
and esi, eax
mov ebp, esi
not ebp
add ebp, edi
add ebp, 1
and ebp, eax
lea ebp, [esi + ebp*2]
sub esi, ebx
or esi, eax
add esi, edi
add esi, 1
sub ebp, esi
lea esi, [eax + ebp]
add esi, 0xda26ffe5
add ebp, eax
mov edi, esi
or edi, 0xda26ffe4
add edi, ebp
add edi, 0xda26ffe5
mov ebx, esi
xor ebx, 0x25d9001b
add ebx, edi
not esi
or esi, 0x25d9001b
lea ebp, [ebx + esi]
lea edi, [esi + ebx]
add edi, 0x25d9001d
mov esi, edi
and esi, 0x9382934a
add esi, ebp
add esi, 0x25d9001d
mov eax, 0xda26ffe2
sub eax, ebp
mov ebx, edi
not ebx
and eax, 0x9382934a
sub esi, eax
mov eax, edi
xor eax, 0x9382934a
add eax, esi
mov esi, edx
neg esi
and ebx, 0x6c7d6cb5
add ebx, eax
or edi, 0x6c7d6cb5
sub ebx, edi
lea eax, [ebx + 0x6c7d6cb6]
lea edi, [edx - 1]
or edi, eax
not edi
add edi, ebx
add edi, 0x6c7d6cb6
and esi, eax
add esi, edi
lea eax, [esi + esi]
or eax, 0x27052694
xor esi, 0x6c7d6cb5
lea ebx, [eax + esi]
lea edi, [eax + esi]
add edi, 1
mov ebp, dword [esp + 8]
xor edx, ebp
or ecx, ebp
add ecx, edx
mov edx, ecx
not edx
add edx, ebp
sub ecx, ebp
mov eax, ecx
and eax, 0x1bc7c6db
mov esi, ecx
xor esi, 0x1bc7c6db
lea esi, [esi + eax*2]
or ecx, 0x1bc7c6db
sub esi, ecx
and edx, 0xe4383924
mov eax, edx
not eax
and eax, esi
mov ecx, esi
or ecx, edx
add ecx, eax
not esi
or esi, edx
add ecx, esi
add ecx, 1
xor ecx, 0xe4383924
mov eax, 0xfffffffe
sub eax, ebx
and eax, 0x1a6f7049
lea eax, [eax + ebx*2]
add eax, 2
or edi, 0x1a6f7049
sub eax, edi
lea edx, [eax + 0x1a6f7049]
mov esi, edx
and esi, ecx
add eax, esi
add eax, 0x1a6f7049
not edx
and edx, ecx
add edx, eax
mov eax, edx
not eax
or eax, edx
and eax, 0xe5908fb6
lea ecx, [eax + edx]
add ecx, 1
mov eax, ecx
and eax, 0x1d9d42e8
shl eax, 2
sub eax, ecx
mov edx, ecx
not edx
add edx, edx
or edx, 0x44c57a2e
add edx, eax
and ecx, 0x2262bd17
lea eax, [edx + ecx*2]
lea ecx, [edx + ecx*2]
add ecx, 0x5d9d42ec
not ecx
mov edx, ecx
and edx, 0x5d9d42e8
lea eax, [edx + eax*2]
add eax, 0xbb3a85d8
or ecx, 0x5d9d42e8
add ecx, eax
imul eax, ecx, 0x38275e41
add eax, 0xe35cc44c
imul ecx, eax, 0x667b1c1
imul eax, eax, 0xf3309c7e
add eax, 0x50
and eax, 0xe6
add eax, ecx
add eax, 0xc4cb7d7
add ecx, 0xc4cb7d7
and ecx, 0x73
lea ecx, [eax + ecx*2]
add cl, 0x27
cmp ebp, 1
sbb ebx, ebx
or bl, cl
mov eax, dword [esp + 0x74]
mov byte [eax], bl
mov eax, dword [esp + 0xb8]
movsx eax, byte [eax]
push dword [esp + 0x50]
push eax
push dword [esp + 0x5c]
call fcn.100514f0
add esp, 0xc
mov ecx, dword [esp + 0x64]
mov edx, eax
neg edx
or edx, ecx
add ecx, edx
add edx, eax
sub edx, ecx
imul ecx, edx, 0x7867d48b
mov edx, ecx
not edx
mov esi, edx
and esi, 0xf1f746ec
add esi, ecx
and edx, 0xe08b913
add edx, esi
add edx, ecx
imul ecx, edx, 0x9ceaf323
add ecx, 0x9ceaf323
mov dword [esp + 0x94], ecx
test eax, eax
mov ecx, 0x59815b8f
mov eax, 0x108a5475
cmove ecx, eax
mov eax, 0x400d2b29
mov dword [esp + 0x68], ebx
mov edx, ebx
mov byte [esp + 0xe], bl
jmp 0x1004d877
cmp eax, 0x7dd7cdc0
je 0x1004e224
cmp eax, 0x7e3af707
jne 0x1004af10
mov eax, 0x101573ac
mov ecx, dword [0x101573bc]
mov dword [esp + 0x50], ecx
cmp dword [0x101573c0], 0x10
jb 0x1004d34b
mov eax, dword [0x101573ac]
mov dword [esp + 0x54], eax
cmp dword [esp + 0x50], 0
mov eax, dword [esp + 0x54]
mov dword [esp + 0x64], eax
mov ecx, 0x24c2391a
mov eax, 0x5beed062
jmp 0x1004e195
cmp eax, 0xc093dea4
jne 0x1004e331
mov eax, dword [esp + 0x38]
mov byte [eax], 0xff
mov eax, dword [esp + 0x70]
mov byte [eax], 0xff
mov eax, dword [esp + 0x74]
mov byte [eax], 0xff
mov eax, 0x400d2b29
mov cl, 0xff
mov dword [esp + 0x68], ecx
mov ecx, 0x108a5475
mov dl, 0xff
mov dword [esp + 0x28], edx
mov dl, 0xff
mov dword [esp + 0x30], edx
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0xd5294218
mov eax, 0x797973a8
mov edx, 0x9dce5b0c
cmove eax, edx
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0x9af644d
mov eax, 0x797973a8
mov edx, 0x35810b96
cmove eax, edx
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0x4263b838
mov eax, 0xd2b6e73
mov edx, 0xc09e1652
cmovl eax, edx
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0xed6fa9f7
mov eax, 0xe8266dd2
mov edx, 0xf0091316
cmovl eax, edx
jmp 0x1004af10
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x84]
cmp eax, dword [esp + 0xd0]
mov ecx, 0x641ae27a
mov eax, 0x96ed8c5c
jmp 0x1004af04
mov eax, dword [esp + 0x80]
lea ecx, [eax + 0x5e1baff3]
mov edx, ecx
or edx, 0xa1e4500d
mov esi, ecx
xor esi, 0xa1e4500d
add esi, edx
mov edx, ecx
xor edx, 0x5e1baff2
add edx, esi
and ecx, 0xa1e4500d
add ecx, edx
add ecx, 1
mov edx, ecx
or edx, 0x46ccacd8
or ecx, 0xb9335327
add ecx, edx
add ecx, 0x46ccacd9
mov edx, ecx
and edx, 1
mov edi, ecx
sub edi, edx
sub edi, edx
mov esi, ecx
or esi, 1
add esi, edi
xor ecx, 0xfffffffe
add ecx, esi
add ecx, edx
lea edi, [eax + eax]
mov edx, edi
or edx, 2
mov ebx, eax
or ebx, 1
add edx, ebx
sub edx, ebx
sub edx, ebx
lea esi, [ecx + edx]
add edx, ecx
add edx, 0xa4a4d335
mov ecx, edx
and ecx, 0x148e7ff5
mov ebp, edx
and ebp, 0xeb71800a
add esi, ebp
add esi, 0xa4a4d335
not edx
or edx, 0x148e7ff5
add edx, esi
mov esi, ecx
sub esi, edx
not ecx
lea edx, [esi + ecx]
add ecx, esi
add ecx, 0xeb71800b
mov esi, eax
mov ebp, eax
and ebp, 0xfffffffe
xor edi, 2
sub edi, ebp
lea ebp, [ebx + ebx*2]
not ebx
add ebx, edi
lea edi, [eax + ebx]
add edi, 1
and eax, 1
xor esi, 1
lea esi, [esi + esi*2]
lea eax, [esi + eax*4]
sub eax, ebp
or edi, eax
mov eax, edi
or eax, 0x2303381c
mov esi, eax
not esi
lea ebx, [edi + esi]
add esi, edi
add esi, 0x2303381d
not edi
and edi, 0xdcfcc7e3
or esi, edi
sub edi, ebx
add esi, edi
add esi, ebx
add eax, esi
add eax, 1
mov esi, eax
and esi, 0xdcfcc7e3
mov edi, eax
xor edi, 0x2303381c
add edi, esi
mov esi, eax
xor esi, 0xdcfcc7e3
add esi, edi
or eax, 0xdcfcc7e3
sub eax, esi
add edx, eax
add edx, 0xeb71800b
mov esi, ecx
xor esi, eax
add esi, edx
mov edx, ecx
or edx, eax
and eax, ecx
add eax, esi
sub edx, eax
add edx, 1
imul eax, edx, 0x56fe6da9
imul ecx, edx, 0x520324ae
add ecx, eax
imul ecx, ecx, 0x427a8699
lea eax, [ecx + 0x562a812]
mov edx, eax
and edx, 0xfa9d57ee
add edx, ecx
add edx, 0x562a812
mov esi, 0xfa9d57ed
sub esi, ecx
and esi, 0xfa9d57ee
sub esi, edx
mov ecx, eax
xor ecx, 0x562a811
add ecx, esi
mov edx, eax
or edx, 0xfa9d57ee
add edx, ecx
or eax, 0x562a811
lea ecx, [edx + eax]
add eax, edx
add eax, 0x562a814
mov edx, dword [esp + 0x40]
mov dword [edx], eax
mov edx, dword [esp + 0xcc]
mov eax, dword [esp + 0x78]
cmp edx, 0x10
jae 0x1004e2b8
mov eax, dword [esp + 0x4c]
jmp 0x1004e2ba
movsx edx, byte [esp + 0x27]
mov ecx, dword [esp + 0x34]
call fcn.1004e360
mov ecx, 0x97b24146
mov eax, 0x400d2b29
jmp 0x1004af10
mov esi, dword [esp + 0x60]
mov edi, esi
and edi, 1
mov edx, esi
xor edx, 0xfffffffe
add edi, edx
mov ecx, esi
xor ecx, 1
add edi, ecx
mov eax, esi
or eax, 1
sub edi, eax
mov ebx, edi
and ebx, esi
add ebx, edi
mov ebp, edi
not ebp
and ebp, esi
add ebp, ebx
or edi, esi
sub ebp, edi
lea edi, [esi + ebp]
add esi, ebp
add esi, 0x4e2dcc65
mov ebx, esi
and ebx, 0xb1d2339b
add edi, ebx
add edi, 0x4e2dcc65
mov ebp, ebx
xor ebp, 0xb1d2339b
add ebp, edi
or esi, 0x4e2dcc64
sub ebp, esi
lea esi, [ebx + ebp]
lea edi, [ebx + ebp]
add edi, 0x1e6d2bc4
and edx, edi
add edx, esi
add edx, 0x1e6d2bc4
mov ebx, 0xe192d43b
sub ebx, esi
and ebx, ecx
lea ebx, [ebx + ebx*2]
sub edx, ebx
add edx, ecx
xor edi, ecx
add edi, edx
lea ecx, [edi + ecx*2]
sub ecx, esi
sub ecx, esi
lea edx, [ecx - 0x3cda5788]
mov esi, edx
or esi, 0xd03f5f5f
add ecx, esi
add ecx, 0xc325a878
not edx
or edx, 0xd03f5f5f
add ecx, edx
add ecx, 0x5f814143
not eax
mov edx, ecx
and edx, eax
or eax, ecx
add eax, edx
lea ecx, [eax + eax]
add ecx, 2
mov edx, 0x36511356
sub edx, ecx
and edx, 0xc9aeeca8
lea esi, [edx + eax]
add esi, 1
mov ecx, 0x1b2889aa
sub ecx, eax
add ecx, ecx
or ecx, 0x36511356
sub esi, ecx
add esi, 0x36511356
mov eax, dword [esp + 0x60]
movzx ecx, byte [esp + 0xd]
mov byte [esp + eax + 0x11c], cl
mov eax, dword [esp + 0xc0]
mov ecx, eax
and ecx, 0x89061314
mov edx, eax
xor edx, 0x89061314
add edx, ecx
mov ecx, eax
not ecx
and ecx, 0x76f9eceb
add ecx, edx
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x89061315
lea ecx, [edx + edx]
add ecx, 0x120c262b
sub ecx, eax
mov eax, ecx
and eax, 0x89061314
xor ecx, 0x89061314
add ecx, eax
add ecx, eax
imul eax, ecx, 0xae9bcda1
lea ecx, [eax - 0x5e6a0728]
mov edx, ecx
and edx, 0x1c9b5580
add eax, edx
add eax, 0xa195f8d8
or ecx, 0xe364aa7f
sub ecx, eax
imul eax, ecx, 0x48fca99f
lea ecx, [eax - 0x246b3a76]
mov edx, ecx
xor edx, 0x18ac816b
add edx, eax
mov eax, ecx
not eax
and eax, 0xe7537e94
add eax, edx
and ecx, 0x18ac816b
add eax, ecx
add eax, 0xc2e84420
mov dword [esp + 0x100], eax
mov dword [esp + 0x98], esi
cmp esi, 4
mov ecx, 0xdf5f3b0d
mov eax, 0xf61b0491
cmove ecx, eax
movzx eax, byte [esp + 0x14]
mov byte [esp + 0x21], al
movzx eax, byte [esp + 0x13]
mov byte [esp + 0x20], al
mov eax, 0x400d2b29
movzx edx, byte [esp + 0x12]
mov byte [esp + 0x1f], dl
jmp 0x1004af10
mov eax, 0x59e7bb65
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0x4263b838
mov eax, 0x797973a8
mov edx, 0x850f8e0e
cmove eax, edx
jmp 0x1004af10
mov eax, 0x85fd5584
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0x411a1e93
mov eax, 0x797973a8
mov edx, 0xed112740
cmove eax, edx
jmp 0x1004af10
mov eax, 0x400d2b29
mov dword [esp + 0x94], 0xffffffff
mov ecx, 0x59815b8f
mov edx, dword [esp + 0x68]
mov byte [esp + 0xe], dl
mov edx, dword [esp + 0x28]
mov byte [esp + 0x1e], dl
mov edx, dword [esp + 0x30]
mov byte [esp + 0x1d], dl
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0xf7fa4be1
mov eax, 0x797973a8
mov edx, 0xf77bed4d
cmove eax, edx
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0x6cc8314f
mov eax, 0x797973a8
mov edx, 0x9deabdf0
cmove eax, edx
jmp 0x1004af10
cmp dword [esp + 0xc4], 0
mov ecx, 0x8a35f1d8
mov eax, 0x985639b1
cmove ecx, eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xa8], eax
mov eax, 0x400d2b29
mov edx, dword [esp + 0x100]
mov dword [esp + 0xa4], edx
movzx edx, byte [esp + 0x21]
mov byte [esp + 0x25], dl
mov dh, byte [esp + 0x20]
mov byte [esp + 0x24], dh
movzx ebx, byte [esp + 0x1f]
mov byte [esp + 0x23], bl
mov byte [esp + 0x11], dl
mov byte [esp + 0x10], dh
mov byte [esp + 0xf], bl
mov edx, dword [esp + 0x98]
mov dword [esp + 0xa0], edx
mov dword [esp + 0x6c], edx
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0x641ae27a
mov eax, 0x4166ace7
mov edx, 0xefd8ea85
cmovl eax, edx
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0x5beed062
mov eax, 0x475c4a31
mov edx, 0xb4ad784c
cmovl eax, edx
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0x411a1e93
mov eax, 0x6a456c50
mov edx, 0x1f252c79
cmovl eax, edx
jmp 0x1004af10
mov ecx, dword [esp + 0x84]
lea eax, [ecx + 0x2920201c]
mov edx, 0x16dfdfe3
sub edx, ecx
and edx, 0x2920201b
neg edx
add edx, ecx
add edx, 0x2920201c
xor eax, 0x2920201b
add eax, edx
mov edx, 0xd6dfdfe3
sub edx, ecx
or edx, 0x2920201b
add edx, eax
imul edx, edx, 0x95d2f84b
lea ecx, [edx + 0x5d296862]
mov eax, ecx
not eax
mov esi, ecx
and esi, 0xe9287e95
add esi, edx
add esi, 0x5d296862
mov edi, 0xa2d6979d
sub edi, edx
and edi, 0xe9287e95
sub esi, edi
mov edx, ecx
xor edx, 0xe9287e95
add edx, esi
and eax, 0x16d7816a
add eax, edx
or ecx, 0x16d7816a
sub eax, ecx
lea ecx, [eax - 0x16d7816b]
mov edx, ecx
not edx
and edx, 0xe60ba430
add eax, edx
add eax, 0xe9287e95
and ecx, 0xe60ba430
add ecx, eax
lea eax, [ecx + ecx]
or eax, 0xd250fd2a
xor ecx, 0x16d7816a
add ecx, eax
imul eax, ecx, 0xbca71163
lea ecx, [eax - 0xf984e6b]
mov edx, dword [esp + 0x40]
mov dword [edx], ecx
mov edx, dword [esp + 0xd0]
mov ecx, dword [esp + 0x78]
cmp edx, 0x10
jae 0x1004e2e0
mov ecx, dword [esp + 0x4c]
jmp 0x1004e2e2
mov eax, dword [esp]
cmp eax, 0x4751529b
mov eax, 0x3cd98f9c
mov edx, 0xfaf0ba3
cmovl eax, edx
jmp 0x1004af10
cmp byte [esp + 0x2e], 0
mov ecx, 0x1fc503b1
mov eax, 0x672a076a
cmovne ecx, eax
mov eax, 0x400d2b29
jmp 0x1004af10
movzx eax, byte [esp + 0xd]
push eax
call fcn.100529d0
add esp, 4
mov esi, eax
movzx edx, byte [esp + 0xd]
mov eax, edx
and al, 0xfb
mov ecx, eax
neg cl
or cl, 0xac
add al, 0xff
or al, 0x53
sub cl, al
add cl, dl
mov eax, ecx
add al, cl
and al, 0xa6
mov ah, al
xor ah, 0xa6
add ah, cl
add ah, al
mov ch, 0x53
sub ch, ah
mov cl, dl
not cl
add cl, cl
mov eax, ecx
and al, 0xde
mov ebx, edx
or bl, 0x10
add bl, al
mov bh, 0xfe
sub bh, bl
add bl, 1
mov dh, dl
and dh, 0x10
mov eax, ebx
and al, dh
mov ah, dh
not ah
and ah, bl
sub ah, al
or bl, dh
add bl, ah
or dh, bh
add dh, bl
add dh, al
add dh, 1
xor dh, 0x14
mov bl, ch
and bl, dh
mov eax, ebx
add al, dh
xor ch, dh
add ch, al
sub dh, ch
add dh, 1
not bl
add cl, dl
or dl, 0xfb
mov ch, dh
add ch, dh
add ch, bl
sub ch, dh
add ch, dl
mov edx, ecx
add dl, 1
mov dh, dl
and dh, 0xfb
mov ebx, edx
mov bh, dl
xor bh, 4
mov eax, edx
and al, 4
add al, bh
mov ah, dl
or ah, 0xfb
add ah, al
xor dl, 0xfb
add dl, ah
sub dl, cl
not cl
add cl, dh
add bl, bl
or bl, 0xf6
add bl, cl
add bl, bh
add bl, 6
or dl, bl
add dl, ch
add dl, 1
movzx eax, dl
imul ecx, eax, 0x53
mov edx, ecx
or dl, 0x3f
mov dh, cl
sub dh, dl
imul eax, eax, 0xffffffa6
or al, 0x7e
add al, dh
mov edx, ecx
or dl, 0xc0
add dl, al
add dl, 0xc3
mov eax, ecx
not al
add al, dl
mov ah, al
or ah, 1
add ah, al
sub cl, dl
or cl, 1
add cl, ah
add cl, 1
mov eax, ecx
and al, 0x3f
add al, cl
mov edx, ecx
xor dl, 0x3f
add dl, al
or cl, 0x3f
sub dl, cl
movzx eax, dl
imul eax, eax, 0xffffffdb
add al, 0xe5
mov ecx, eax
and cl, 0x24
add cl, al
not al
or al, 0xdb
add al, cl
cmp al, 5
mov ecx, 0x985639b1
mov eax, 0x6cc8314f
cmove ecx, eax
test esi, esi
cmovne ecx, eax
jmp 0x1004e28b
mov eax, dword [esp]
cmp eax, 0x6782f2d5
mov eax, 0x3f913567
mov edx, 0x5e47992e
cmovl eax, edx
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0x97b24146
mov eax, 0x797973a8
mov edx, 0x72868459
cmove eax, edx
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0x24c2391a
mov eax, 0xe0f73f2a
mov edx, 0x4b3dda3a
cmovl eax, edx
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0x985639b1
mov eax, 0xfb2f7bbf
mov edx, 0x60f55894
cmovl eax, edx
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0x3589111b
mov eax, 0x797973a8
mov edx, 0x9ab9e3f4
cmove eax, edx
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0xd453bfb2
mov eax, 0x1f104296
mov edx, 0xf7f76711
cmovl eax, edx
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0x8a35f1d8
mov eax, 0x797973a8
mov edx, 0xa83f2bd6
cmove eax, edx
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0xed6fa9f7
mov eax, 0x797973a8
mov edx, 0x1e9cfefb
cmove eax, edx
jmp 0x1004af10
movsx edx, byte [esp + 0x17]
mov ecx, dword [esp + 0x34]
call fcn.1004e360
jmp 0x1004e2f9
mov dword [esp], ecx
mov eax, 0x8651abc7
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0x7000c9b8
mov eax, 0x797973a8
mov edx, 0x5c6f7ca8
cmove eax, edx
jmp 0x1004af10
mov eax, dword [esp + 0x8c]
movzx eax, byte [esp + eax + 0x119]
mov byte [esp + 0x22], al
mov ecx, 0x4751529b
mov eax, dword [esp + 0x8c]
mov dword [esp + 0xac], eax
mov eax, 0x400d2b29
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0x3589111b
mov eax, 0x8049d15a
mov edx, 0x61c76213
cmovl eax, edx
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0xccedfb25
mov eax, 0x797973a8
mov edx, 0xf01e336e
cmove eax, edx
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0x10ff9b93
mov eax, 0x58b576c
mov edx, 0x2ecc0f15
cmovl eax, edx
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0x10ff9b93
mov eax, 0x797973a8
mov edx, 0x27f155c8
cmove eax, edx
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0xd453bfb2
mov eax, 0x797973a8
mov edx, 0x7547ff7b
cmove eax, edx
jmp 0x1004af10
mov eax, 0x101573ac
mov ecx, dword [0x101573bc]
mov dword [esp + 0xd4], ecx
cmp dword [0x101573c0], 0x10
jb 0x1004ddbc
mov eax, dword [0x101573ac]
mov dword [esp + 0xd8], eax
cmp dword [esp + 0xd4], 0
sete byte [esp + 0x2f]
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x104], eax
mov eax, 0x400d2b29
mov dword [esp + 0x5c], 0
mov ecx, 0x6782f2d5
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0xa739bde7
mov eax, 0x5b91a3c1
mov edx, 0xa490c520
cmovl eax, edx
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0x96ed8c5c
mov eax, 0x519c60b7
mov edx, 0xe4fd55c0
cmovl eax, edx
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0x59815b8f
mov eax, 0x797973a8
mov edx, 0x72cf6735
cmove eax, edx
jmp 0x1004af10
cmp dword [esp + 0x58], 0
mov ecx, 0xa89b8dd2
mov eax, 0xd453bfb2
cmovg ecx, eax
mov eax, 0x400d2b29
jmp 0x1004af10
movsx edx, byte [esp + 0x16]
mov ecx, dword [esp + 0x34]
call fcn.1004e360
jmp 0x1004e2d1
mov eax, dword [esp]
cmp eax, 0x7000c9b8
mov eax, 0xeb10ce9e
mov edx, 0xceca3f81
cmovl eax, edx
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0xf7fa4be1
mov eax, 0xce629830
mov edx, 0x71987f4a
cmovl eax, edx
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0x96ed8c5c
mov eax, 0x797973a8
mov edx, 0x84a480c7
cmove eax, edx
jmp 0x1004af10
mov eax, 0x400d2b29
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0x108a5475
mov eax, 0x2fc6754c
mov edx, 0x383aa4e2
cmovl eax, edx
jmp 0x1004af10
mov eax, dword [esp + 0x7c]
mov ecx, eax
not ecx
lea edi, [ecx + ecx]
lea edx, [eax + ecx*2]
add edx, 1
or edx, 1
mov esi, edx
not esi
lea edx, [edx + esi*2]
not edx
lea esi, [edx + edx]
sub edx, esi
lea esi, [eax + edx]
add esi, 1
add edx, eax
add edx, edx
add edx, 2
sub edx, esi
and edi, 0x82d74e14
add edi, eax
mov ebx, eax
or ebx, 0x416ba70a
sub edi, ebx
mov esi, eax
and esi, 0xbe9458f5
mov ebp, eax
or ebp, 0xbe9458f5
add ebp, esi
mov esi, eax
xor esi, 0x416ba70a
add esi, ebp
sub esi, ebx
add esi, 0x416ba70b
mov ebx, edi
not ebx
and ebx, esi
sub ebx, esi
mov ebp, edi
or ebp, esi
add ebp, ebx
and esi, edi
add esi, ebp
mov edi, esi
xor edi, 0x416ba70b
xor esi, 0xbe9458f4
add edi, esi
add edi, 1
or edi, esi
mov esi, edx
or esi, 0x4d27dab
mov ebx, edx
sub ebx, esi
and edx, 0xfb2d8254
lea esi, [edx + ebx]
add esi, 0x9a4fb57
mov edx, esi
or edx, edi
xor edi, esi
mov esi, edi
not esi
lea esi, [esi + edx*2]
add edx, edx
sub edx, edi
mov edi, edx
and edi, 0x4d27dab
add edi, edx
lea ebx, [edx + edx]
xor ebx, 0x9a4fb56
add ebx, edi
mov edi, edx
or edi, 0xfb2d8254
add edi, ebx
xor edx, 0xfb2d8254
add edx, edi
sub edx, esi
lea esi, [edx - 0x4d27dab]
mov edi, ecx
and edi, 1
add edi, ecx
or ecx, 1
mov ebx, eax
xor ebx, 0xfffffffe
sub ebx, ecx
or eax, 1
add eax, edi
add eax, ebx
add eax, 2
mov ecx, esi
or ecx, 0x21a531f7
add ecx, edx
add ecx, 0xfb2d8255
not esi
or esi, 0x21a531f7
lea edx, [ecx + esi]
add ecx, esi
add ecx, 1
mov esi, ecx
and esi, eax
add edx, esi
add edx, 1
add edx, eax
mov esi, ecx
xor esi, eax
add esi, edx
or ecx, eax
sub esi, ecx
imul eax, esi, 0xcba2c11f
lea ecx, [eax + 0x574f1c62]
mov edx, ecx
and edx, 0x3efc31b3
add eax, edx
add eax, 0x574f1c62
or ecx, 0xc103ce4c
mov edx, ecx
not edx
add edx, eax
sub ecx, eax
and ecx, 0x7049604b
lea eax, [ecx + edx*2]
or edx, 0x7049604b
sub eax, edx
imul eax, eax, 0xd7af7adf
lea edx, [eax + 0x67ec60ab]
mov ecx, edx
not ecx
or ecx, edx
and ecx, 0xa4446712
lea edx, [eax + ecx]
add edx, 0x67ec60ac
mov esi, dword [esp + 0x40]
mov dword [esi], edx
mov esi, dword [esp + 0xc8]
mov edx, dword [esp + 0x78]
cmp esi, 0x10
jae 0x1004e308
mov edx, dword [esp + 0x4c]
jmp 0x1004e30a
mov eax, dword [esp]
cmp eax, 0xccedfb25
mov eax, 0x3f3db25d
mov edx, 0x8d3d562f
cmovl eax, edx
jmp 0x1004af10
mov eax, dword [esp + 0xe4]
imul eax, dword [esp + 0x110], 0x1eb4380d
lea ecx, [eax + 0x1eb4380d]
mov edx, ecx
not edx
mov esi, ecx
and esi, 0xe7fd73ab
xor ecx, 0xe7fd73ab
add ecx, esi
and edx, 0x18028c54
add edx, ecx
lea ecx, [edx + eax]
add eax, edx
add eax, 0x6b1abb9
add ecx, ecx
add ecx, 0xd635772
sub ecx, eax
add ecx, 0x2ad19872
mov eax, ecx
and eax, 0xe7fd73ab
xor ecx, 0xe7fd73ab
add ecx, eax
add ecx, eax
imul eax, ecx, 0x96ced6c5
add eax, 0xae07b18
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x8c]
cmp ecx, eax
mov ecx, 0x3589111b
jmp 0x1004e190
mov eax, dword [esp]
cmp eax, 0x59815b8f
mov eax, 0x1da2183d
mov edx, 0xb454b424
cmovl eax, edx
jmp 0x1004af10
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x44]
movzx ecx, byte [esp + 0xf]
mov byte [eax], cl
mov eax, dword [esp + 0xb4]
movzx ecx, byte [esp + 0x10]
mov byte [eax], cl
mov eax, dword [esp + 0xbc]
movzx ecx, byte [esp + 0x11]
mov byte [eax], cl
cmp dword [esp + 0x58], 0
mov ecx, 0xed6fa9f7
mov eax, 0x672a076a
cmove ecx, eax
mov eax, 0x400d2b29
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0x5beed062
mov eax, 0x797973a8
mov edx, 0xc093dea4
cmove eax, edx
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0x1a6a18bb
mov eax, 0xc4fc2d32
mov edx, 0x50171da
cmovl eax, edx
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0xa89b8dd2
mov eax, 0x797973a8
mov edx, 0xd317891b
cmove eax, edx
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0x641ae27a
mov eax, 0x797973a8
mov edx, 0x599bc9e7
cmove eax, edx
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0x1fdaea56
mov eax, 0x3d7d1d3f
mov edx, 0x5f07cd8d
cmovl eax, edx
jmp 0x1004af10
mov eax, dword [esp]
cmp eax, 0xa739bde7
mov eax, 0x797973a8
mov edx, 0xdbc31827
cmove eax, edx
jmp 0x1004af10
mov ecx, dword [ecx]
mov edx, dword [esp + 0x88]
movzx ebx, byte [esp + 0x27]
mov byte [ecx + edx], bl
mov byte [ecx + eax - 0x14a9708d], 0
mov eax, 0x400d2b29
mov ecx, 0x97b24146
jmp 0x1004af10
mov eax, dword [eax]
mov ecx, dword [esp + 0xc0]
movzx eax, byte [eax + ecx]
mov byte [esp + 0xd], al
movzx eax, byte [esp + 0xd]
cmp al, 0x3d
mov ecx, 0xccedfb25
mov eax, 0x985639b1
cmove ecx, eax
movzx eax, byte [esp + 0x14]
mov byte [esp + 0x11], al
movzx eax, byte [esp + 0x13]
mov byte [esp + 0x10], al
movzx eax, byte [esp + 0x12]
mov byte [esp + 0xf], al
mov eax, 0x400d2b29
mov edx, dword [esp + 0x60]
mov dword [esp + 0x6c], edx
jmp 0x1004af10
mov eax, dword [eax]
mov edx, dword [esp + 0x80]
movzx ebx, byte [esp + 0x16]
mov byte [eax + edx], bl
mov byte [eax + ecx + 0x562a814], 0
mov eax, 0x400d2b29
mov ecx, 0x10ff9b93
jmp 0x1004af10
mov ecx, dword [ecx]
mov edx, dword [esp + 0x84]
movzx ebx, byte [esp + 0x17]
mov byte [ecx + edx], bl
mov byte [ecx + eax - 0xf984e6b], 0
mov eax, 0x400d2b29
mov ecx, 0x77f6709c
jmp 0x1004af10
mov edx, dword [edx]
add eax, ecx
add eax, 0x67ec60ab
mov ecx, dword [esp + 0x7c]
movzx ebx, byte [esp + 0x15]
mov byte [edx + ecx], bl
mov byte [edx + eax + 1], 0
mov eax, 0x400d2b29
mov ecx, 0xbbb8c1b8
jmp 0x1004af10
cmp eax, 0xbc2762c0
jne 0x1004af10
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x120]
xor ecx, esp
call fcn.10050a3a
add esp, 0x124
pop esi
pop edi
pop ebx
pop ebp
ret