Function at 0x10054660
Capabilities:
Authenticate hmac
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x12c
mov esi, ecx
mov eax, dword [0x1006b040]
xor eax, esp
mov dword [esp + 0x128], eax
mov eax, dword [edx + 0x10]
mov dword [esp + 0xb8], eax
lea eax, [esp + 0x124]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
lea eax, [esp + 0x121]
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 + 0xfc], edx
mov dword [esp + 0xf8], edx
lea eax, [edx + 0x14]
mov dword [esp + 0x100], eax
cmp dword [esp + 0xb8], 0
sete byte [esp + 0x2a]
lea eax, [ecx + 0x10]
mov dword [esp + 0x9c], eax
mov eax, 0x5c04d819
mov ecx, 0x2d20d650
mov dword [esp + 0x24], edx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x68], edx
mov dword [esp + 0x2c], esi
jmp 0x10054760
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x8c]
cmp eax, dword [esp + 0xd4]
mov eax, 0x174a5815
mov ecx, 0xd2d98a12
cmovb eax, ecx
mov ecx, 0x4dec1267
nop word cs:[eax + eax]
nop
cmp ecx, 0xfbac5382
jle 0x100547d0
cmp ecx, 0x30f0af66
jg 0x10054840
cmp ecx, 0x18ec4ee4
jle 0x10054913
cmp ecx, 0x23aec7e0
jg 0x10054eda
cmp ecx, 0x1dd85314
jle 0x10055324
cmp ecx, 0x20c27264
jg 0x10055720
cmp ecx, 0x1dd85315
je 0x100559b6
cmp ecx, 0x1eaa16dc
jne 0x10054760
mov ecx, dword [esp]
cmp ecx, 0xbfa1db27
mov ecx, 0xf2d6c3
mov edx, 0x53a28471
cmove ecx, edx
jmp 0x10054760
cmp ecx, 0xc1b794fe
jg 0x100548b0
cmp ecx, 0x8ea24f7f
jle 0x10054988
cmp ecx, 0xaa35f352
jg 0x10054f25
cmp ecx, 0x9ad91b8f
jle 0x10055352
cmp ecx, 0x9ffcdb41
jg 0x10055776
cmp ecx, 0x9ad91b90
je 0x100559d1
cmp ecx, 0x9efed27d
jne 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x7a5e72ce
mov ecx, 0x6ef0a99d
mov edx, 0x18ec4ee5
cmovl ecx, edx
jmp 0x10054760
cmp ecx, 0x5eb9f6cd
jle 0x100549df
cmp ecx, 0x6ef0a99c
jg 0x10054f70
cmp ecx, 0x642ac9a4
jle 0x10055391
cmp ecx, 0x695d115d
jg 0x100557a9
cmp ecx, 0x642ac9a5
je 0x10055e85
cmp ecx, 0x694730a6
jne 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x6f88240a
mov ecx, 0xf2d6c3
mov edx, 0xf1bd675d
cmove ecx, edx
jmp 0x10054760
cmp ecx, 0xddf858ca
jle 0x10054e83
cmp ecx, 0xe86d7669
jle 0x10054fbb
cmp ecx, 0xf1bd675c
jle 0x100553d0
cmp ecx, 0xf880e7e9
jg 0x100557db
cmp ecx, 0xf1bd675d
je 0x10055ea0
cmp ecx, 0xf288ccfc
jne 0x10054760
mov ecx, dword [esp]
cmp ecx, 0xcee6a195
mov ecx, 0xe40a96e0
mov edx, 0xbed94ab2
cmovl ecx, edx
jmp 0x10054760
cmp ecx, 0x8d10141
jle 0x10055006
cmp ecx, 0x1066940c
jle 0x1005540f
cmp ecx, 0x13f76ec0
jg 0x1005580e
cmp ecx, 0x1066940d
je 0x10056023
cmp ecx, 0x13cd58c5
jne 0x10054760
mov eax, dword [esp + 0x30]
mov byte [eax], 0xff
mov eax, dword [esp + 0x7c]
mov byte [eax], 0xff
mov eax, dword [esp + 0x80]
mov byte [eax], 0xff
mov ecx, 0x4dec1267
mov al, 0xff
mov dword [esp + 0x24], eax
mov eax, 0x73d54d2
mov dl, 0xff
mov dword [esp + 0x6c], edx
mov dl, 0xff
mov dword [esp + 0x68], edx
jmp 0x10054760
cmp ecx, 0x86b330f7
jle 0x10055040
cmp ecx, 0x89f924fc
jle 0x1005544e
cmp ecx, 0x8d9a3043
jg 0x10055841
cmp ecx, 0x89f924fd
je 0x1005607b
cmp ecx, 0x8b0c2722
jne 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x174a5815
mov ecx, 0xf2d6c3
mov edx, 0x3031628c
cmove ecx, edx
jmp 0x10054760
cmp ecx, 0x49e211d3
jle 0x1005528e
cmp ecx, 0x57791245
jle 0x1005548d
cmp ecx, 0x5c3801f4
jg 0x10055874
cmp ecx, 0x57791246
je 0x1005608e
cmp ecx, 0x57f3cc33
jne 0x10054760
mov eax, dword [esp + 0x30]
movzx ecx, byte [eax]
shl cl, 2
movzx eax, byte [esp + 0x125]
mov byte [esp + 0x3c], al
shr al, 4
and al, 3
add al, 0xff
movzx eax, al
lea edx, [eax + eax*4]
lea edx, [edx + edx*2]
imul eax, eax, 0xffffffe2
add al, dl
mov edx, eax
add dl, 0x9f
mov ch, dl
and ch, 0x1b
add ch, dl
or dl, 0x1b
add dl, ch
sub dl, al
movzx edx, dl
mov eax, edx
shl eax, 4
add eax, edx
mov edx, eax
add dl, 0x68
mov dh, dl
not dh
or dh, dl
and dh, 0x58
add dh, al
add dh, 0xb7
mov al, dh
and al, 8
add al, dh
mov dl, dh
not dl
add dl, al
and dh, 0xf7
add dh, dl
add dh, 0xa
mov al, dh
not al
mov ah, al
mov ebx, eax
mov byte [esp + 0x10], al
and ah, 0x37
add ah, dh
mov ch, dh
mov dl, dh
or bl, 0xc8
add bl, dh
mov bh, dh
mov al, dh
or al, 0x37
or ch, 0xc8
add ch, al
not ch
add ch, ah
and dl, 0xc8
movzx esi, dl
lea eax, [esi + esi*2]
sub al, bl
not dl
add dl, al
or dl, ch
mov eax, ecx
and al, 0x34
xor al, 0x37
mov ah, cl
and ah, 0xc8
or al, ah
mov ch, cl
or ch, 0x37
sub al, ch
add al, 0x37
mov bl, al
or bl, ah
mov ch, bl
add ch, bl
not bl
add bl, ch
mov ch, al
not ch
and ch, ah
not ah
or ah, al
add ah, ch
sub bl, ah
mov eax, edx
or al, bl
not bl
add al, bl
or bl, dl
sub bl, al
mov ch, bl
not ch
add ch, ch
add ch, bl
mov dl, ch
mov ah, 0x7d
sub ah, ch
add ch, 2
or bh, cl
mov al, bh
add al, bh
sub al, bh
mov byte [esp + 6], al
mov al, ch
and al, 0x96
add al, ch
and ah, 0x69
movzx esi, ah
lea ebx, [esi + esi*2]
neg ebx
add bl, al
mov ah, dh
add dl, dl
xor ch, 0x69
add ch, bl
sub ch, dl
mov al, 0xc8
sub al, ch
add ch, 0x37
movzx ebx, byte [esp + 6]
mov dl, bl
add dl, bl
add dl, ch
or ch, bl
not ch
add ch, dl
mov dl, cl
not dl
mov bh, dl
add bh, dl
add bh, cl
and cl, dh
and ah, dl
or dl, byte [esp + 0x10]
add dl, dh
or al, bl
sub ch, al
mov al, bh
add al, bh
add bh, al
xor al, 0xfc
add al, bh
mov bl, 8
sub bl, ch
mov bh, 0x68
sub bh, ch
add ch, 0x97
add al, 2
or al, 3
and bl, 0x12
add bl, ch
xor ch, 0xed
add ch, bl
or bh, 0x12
sub ch, bh
add ch, 0x12
mov bl, ch
and bl, al
mov bh, ch
add bh, ch
sub bh, bl
mov bl, ch
not bl
and bl, al
add bl, bh
add bl, al
xor ch, al
sub bl, ch
mov al, bl
and al, 0x12
mov ch, bl
or ch, 0xed
add al, ch
or bl, 0x12
add bl, al
sub bl, ch
add bl, 0xdc
mov ch, bl
not ch
mov al, ch
and al, 0x38
add al, al
add al, bl
add ch, ch
or ch, 0x8e
sub al, ch
add al, 0x47
sub dh, al
mov ch, byte [esp + 0x10]
add al, ch
and al, 0x47
or dh, 0x47
sub al, dh
add ah, ah
add ah, ch
add cl, cl
add cl, ah
sub cl, dl
mov edx, ecx
not dl
movzx esi, dl
add cl, cl
lea ebx, [esi + esi*2]
neg ebx
sub bl, cl
add bl, dl
add bl, 0x7e
or bl, dl
add bl, bl
sub al, bl
movzx eax, al
imul eax, eax, 0x3b
add al, 0x22
mov ecx, eax
and cl, 0x33
add cl, cl
mov edx, eax
sub dl, cl
mov ecx, eax
or cl, 0xcc
add cl, dl
not al
or al, 0xcc
sub cl, al
add cl, 0x69
movzx edx, cl
lea eax, [edx + edx*2]
lea eax, [edx + eax*4]
mov cl, 0x19
sub cl, al
add al, 0xe6
and cl, 0x5c
mov ebx, eax
xor bl, 0xa3
add bl, cl
lea ecx, [edx + edx*4]
lea ecx, [ecx + ecx*4]
add ecx, edx
add cl, bl
and al, 0x5c
sub al, cl
add al, 0xd7
mov byte [esp + 0x22], al
mov eax, dword [esp + 0x44]
movzx ecx, byte [esp + 0x22]
mov byte [eax], cl
mov ch, byte [esp + 0x3c]
shl ch, 4
movzx eax, byte [esp + 0x126]
shr al, 2
mov edx, eax
and dl, 0xf
mov ah, al
neg ah
mov cl, al
add cl, 0xff
and cl, dl
add cl, dl
or ah, dl
sub cl, ah
mov edx, eax
not dl
add dl, cl
add dl, dl
sub al, cl
add al, dl
mov cl, al
add cl, 0xa3
mov edx, ecx
and dl, 1
add dl, cl
or cl, 1
add cl, dl
sub cl, al
movzx eax, cl
imul eax, eax, 0x2f
mov cl, al
add cl, 0x55
mov edx, ecx
and dl, 0xd9
add dl, cl
not cl
sub al, dl
or cl, 0xd9
add cl, al
add cl, 0x42
movzx eax, cl
imul eax, eax, 0xffffffcf
mov dl, 0xd4
sub dl, al
add al, 0x2b
not ch
mov cl, al
and cl, ch
add cl, ch
or al, ch
or ch, dl
add ch, al
sub cl, ch
mov eax, ecx
not al
add al, al
add al, cl
movzx eax, al
imul eax, eax, 0xffffffcf
mov cl, 0x61
sub cl, al
add al, 0xcf
mov edx, eax
add dl, al
add dl, 0x9e
or dl, 0x28
sub al, dl
add cl, cl
or cl, 0x28
sub al, cl
add al, 0x61
mov ecx, eax
and cl, 0x6b
add cl, al
not al
and al, 0x6b
add al, cl
movzx eax, al
imul eax, eax, 0x2f
mov cl, 0xc
sub cl, al
mov dl, 0x4c
sub dl, al
add al, 0xb3
mov ah, al
and ah, 0xd3
add ah, al
and cl, 0x2c
or al, 0xd3
add al, cl
sub ah, al
or dl, 0x2c
add dl, ah
add dl, 0xd4
mov byte [esp + 0x122], dl
mov eax, dword [esp + 0x58]
mov ecx, eax
and ecx, 0x5b65eb34
add ecx, eax
or eax, 0xa49a14cb
sub ecx, eax
lea eax, [ecx + 0x49342996]
mov edx, eax
and edx, 0x5b65eb35
add ecx, edx
add ecx, 0x49342996
mov edx, eax
xor edx, 0x5b65eb35
add edx, ecx
or eax, 0x5b65eb35
sub edx, eax
lea eax, [edx + 0x5b65eb35]
mov ecx, eax
or ecx, 0x9b33a825
add ecx, edx
add ecx, 0x5b65eb35
mov edx, eax
xor edx, 0x9b33a825
add edx, ecx
not eax
lea ecx, [edx + eax*2]
or eax, 0x64cc57da
lea eax, [eax + eax*2]
sub ecx, eax
lea eax, [ecx + 0x64cc57d9]
mov edx, 0x9b33a826
sub edx, ecx
mov esi, edx
and esi, 0x9b33a825
add ecx, esi
add ecx, 0x64cc57d9
xor eax, 0x64cc57da
add eax, ecx
or edx, 0x9b33a825
sub eax, edx
imul eax, eax, 0x8db6dae7
add eax, 0xbe5c49d
mov ecx, eax
and ecx, 0x3976bdff
mov edx, eax
or edx, 0xc6894200
add ecx, edx
or eax, 0x3976bdff
add eax, ecx
sub eax, edx
lea ecx, [eax - 0x72ed7bfe]
mov edx, ecx
not edx
and edx, 0x645e2dac
add eax, edx
add eax, 0x8d128402
mov edx, ecx
xor edx, 0x9ba1d253
add edx, eax
and ecx, 0x9ba1d253
lea eax, [edx + ecx]
add ecx, edx
add ecx, 0x9ba1d254
mov edx, ecx
and edx, 0xc6894200
add eax, edx
add eax, 0x9ba1d254
or ecx, 0x3976bdff
sub eax, ecx
imul eax, eax, 0x94398d7
add eax, 0x280a069d
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x58]
cmp eax, 2
mov eax, 0xdf15bad1
mov ecx, 0xb2bf6c34
cmovge eax, ecx
mov ecx, 0x4dec1267
jmp 0x10054760
cmp ecx, 0xc6c422c7
jle 0x100552d9
cmp ecx, 0xd25a0dca
jle 0x100554ee
cmp ecx, 0xd62607bb
jg 0x100558a7
cmp ecx, 0xd25a0dcb
je 0x100560a9
cmp ecx, 0xd26a2b5d
jne 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x810957f
mov ecx, 0x865a29f1
mov edx, 0xe63924fb
cmovl ecx, edx
jmp 0x10054760
cmp ecx, 0x2d20d64f
jle 0x1005552d
cmp ecx, 0x2f0335c3
jg 0x100558fe
cmp ecx, 0x2d20d650
je 0x100560c4
cmp ecx, 0x2dee9116
jne 0x10054760
mov ecx, dword [esp]
cmp ecx, 0xcf92f46e
mov ecx, 0xddf858cb
mov edx, 0x1dd85315
cmovl ecx, edx
jmp 0x10054760
cmp ecx, 0xba803fc9
jle 0x1005556c
cmp ecx, 0xbed94ab1
jg 0x10055929
cmp ecx, 0xba803fca
je 0x10054713
cmp ecx, 0xbbd5c22e
jne 0x10054760
mov ecx, dword [esp]
cmp ecx, 0xdf15bad1
mov ecx, 0xf2d6c3
mov edx, 0xe4875709
cmove ecx, edx
jmp 0x10054760
cmp ecx, 0x767ef4be
jle 0x100555ab
cmp ecx, 0x7d9a4415
jg 0x1005595c
cmp ecx, 0x767ef4bf
je 0x100560d1
cmp ecx, 0x79d31dca
jne 0x10054760
mov ecx, dword [esp]
cmp ecx, 0xc32ceef4
mov ecx, 0x3cbd9d7
mov edx, 0x75bced47
cmovl ecx, edx
jmp 0x10054760
cmp ecx, 0xe40a96df
jle 0x100555ea
cmp ecx, 0xe63924fa
jle 0x1005598f
cmp ecx, 0xe63924fb
je 0x100560ec
cmp ecx, 0xe650829f
jne 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x128e48f8
mov ecx, 0x5f10258a
mov edx, 0x84837edb
cmovl ecx, edx
jmp 0x10054760
cmp ecx, 0x3cbd9d6
jg 0x10055629
cmp ecx, 0xfbac5383
je 0x10056107
cmp ecx, 0x933ca2
je 0x1005611e
cmp ecx, 0xf2d6c3
jne 0x10054760
mov ecx, 0x1b54f6e9
jmp 0x10054760
cmp ecx, 0x85adbcde
jg 0x10055669
cmp ecx, 0x817a38a3
je 0x100561ea
cmp ecx, 0x84837edb
je 0x10056205
cmp ecx, 0x84f5d191
jne 0x10054760
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xa0]
mov byte [eax], cl
mov eax, dword [esp + 0xe4]
mov ecx, eax
neg ecx
lea ebx, [eax + eax]
lea edx, [eax + eax]
add edx, 0x7ffffffe
and edx, 0x51b75b84
sub edx, ebx
lea esi, [eax - 1]
mov edi, esi
and edi, 0x5724523d
lea edx, [edx + edi*2]
or esi, 0xa8dbadc2
sub edx, esi
and ecx, 0xa8dbadc2
lea esi, [edx + ecx]
add ecx, edx
add ecx, 1
mov edx, ecx
not edx
and ecx, 0xaf7abc08
add ecx, esi
add ecx, 1
and edx, 0xaf7abc08
add edx, ecx
add edx, 0xa10a87f0
mov ecx, edx
or ecx, 0x508543f7
mov dword [esp + 0x64], ecx
or edx, 0xaf7abc08
mov dword [esp + 0x10], edx
add ecx, edx
mov edx, 0x508543f6
sub edx, ecx
mov dword [esp + 0x3c], edx
mov edx, eax
mov edi, eax
and edi, 1
mov esi, eax
not edx
mov ebp, edx
and ebp, 1
mov ecx, edx
or ecx, 0xfffffffe
add ecx, edi
not ecx
add ecx, ebp
mov ebp, ebx
xor ebp, 0xfffffffd
add ebp, edx
mov eax, ebx
or ebx, 2
add ebx, ebp
and esi, 0xfffffffe
mov ebp, edi
xor ebp, 1
lea ebp, [ebp + ebp*2]
or ecx, esi
or ebx, esi
sub esi, ebp
xor eax, 2
add eax, esi
lea esi, [eax + edx*2]
lea eax, [eax + edx*2]
add eax, 4
not eax
and eax, edi
add eax, esi
add eax, 4
mov esi, eax
not esi
lea eax, [eax + esi*2]
lea eax, [eax + eax*2]
add eax, 3
mov edx, dword [esp + 0x3c]
mov esi, edx
and esi, eax
lea edi, [edx + edx]
sub edi, esi
mov esi, dword [esp + 0x64]
mov ebp, dword [esp + 0x10]
add esi, ebp
add esi, 0xaf7abc09
and esi, eax
add esi, edi
add esi, eax
xor edx, eax
sub esi, edx
mov eax, ecx
not eax
lea edx, [esi + 0x7f2eec1b]
and ecx, edx
and edx, eax
add edx, edx
sub eax, edx
add ecx, ecx
sub eax, ecx
lea ecx, [eax + esi]
add ecx, 0x7f2eec1b
add eax, esi
add eax, 0x7f2eec1a
mov edx, eax
and edx, 0x7f2eec1b
add edx, ecx
add edx, 0xffffffff
neg ecx
and ecx, 0x80d113e4
add ecx, edx
xor eax, 0x7f2eec1b
mov esi, 0x46355f0c
sub esi, ecx
sub esi, eax
add eax, ecx
add eax, 0xb9caa0f3
mov ecx, eax
and ecx, 0xc5644b27
mov edx, eax
or edx, 0x3a9bb4d8
add edx, ecx
or eax, 0xc5644b27
add eax, edx
or esi, 0x3a9bb4d8
lea ecx, [eax + esi]
add eax, esi
add eax, 0xc26023c3
lea ecx, [ecx + ebx*2]
add ecx, 0xc26023c3
mov edx, eax
or edx, ebx
sub ecx, edx
mov edx, eax
xor edx, ebx
add edx, ecx
not ebx
or ebx, eax
lea eax, [ebx + edx]
add eax, 1
imul ecx, eax, 0x86103589
lea edx, [ecx + 0x21892401]
mov esi, 0xde76dbfe
sub esi, ecx
mov ecx, edx
and esi, 0xc3ef01c6
xor edx, 0x3c10fe39
add edx, esi
not ecx
imul eax, eax, 0xc206b12
add eax, edx
or ecx, 0x3c10fe39
add ecx, eax
imul eax, ecx, 0x93fad0b9
add eax, 0xa0af6ece
mov ecx, eax
or ecx, 0x67292a98
or eax, 0x98d6d567
add eax, ecx
add eax, 0xefa02ec5
mov dword [esp + 0x64], eax
cmp eax, dword [esp + 0x58]
mov eax, 0x8d6a3475
mov ecx, 0xcf92f46e
jmp 0x10056b62
cmp ecx, 0x3f6e5b17
jg 0x100556a8
cmp ecx, 0x30f0af67
je 0x10056220
cmp ecx, 0x330e1b7b
je 0x1005623b
cmp ecx, 0x3d2cbd9f
jne 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x5c04d819
mov ecx, 0x57791246
mov edx, 0xede4810d
cmovl ecx, edx
jmp 0x10054760
cmp ecx, 0xc45f144f
jg 0x100556df
cmp ecx, 0xc1b794ff
je 0x10056256
cmp ecx, 0xc2126bf8
je 0x10056271
cmp ecx, 0xc277e548
jne 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x8d6a3475
mov ecx, 0xc7552cfb
mov edx, 0xd25a0dcb
cmovl ecx, edx
jmp 0x10054760
cmp ecx, 0x18ec4ee5
je 0x100562a1
cmp ecx, 0x18f1b868
je 0x100562bc
cmp ecx, 0x1b54f6e9
jne 0x10054760
mov ecx, 0x4dec1267
jmp 0x10054760
cmp ecx, 0x8ea24f80
je 0x100562d7
cmp ecx, 0x99f944ac
je 0x10056384
cmp ecx, 0x9a954d6e
jne 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x128e48f8
mov ecx, 0xf2d6c3
mov edx, 0x6bb1df42
cmove ecx, edx
jmp 0x10054760
cmp ecx, 0x5eb9f6ce
je 0x100563b7
cmp ecx, 0x5f10258a
je 0x100563d2
cmp ecx, 0x5f594864
jne 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x8d6a3475
mov ecx, 0xf2d6c3
mov edx, 0x99f944ac
cmove ecx, edx
jmp 0x10054760
cmp ecx, 0xe86d766a
je 0x100563ed
cmp ecx, 0xecfef5b3
je 0x10056408
cmp ecx, 0xede4810d
jne 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x53fd10c2
mov ecx, 0x4f95378
mov edx, 0xa8d84063
cmovl ecx, edx
jmp 0x10054760
cmp ecx, 0x8d10142
je 0x10056424
cmp ecx, 0x9b47d42
je 0x1005643f
cmp ecx, 0xe8b3e3c
jne 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x3c671ea4
mov ecx, 0xf2d6c3
mov edx, 0x80a46a4
cmove ecx, edx
jmp 0x10054760
cmp ecx, 0x86b330f8
je 0x10056543
cmp ecx, 0x8713ff53
je 0x10056605
cmp ecx, 0x87140ae7
jne 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x70c6c3d9
mov ecx, 0xf2d6c3
mov edx, 0xba803fca
cmove ecx, edx
jmp 0x10054760
cmp ecx, 0x49e211d4
je 0x10056620
cmp ecx, 0x4dec1267
je 0x1005663b
cmp ecx, 0x53a28471
jne 0x10054760
mov eax, 0x1015b3ac
mov ecx, dword [0x1015b3bc]
mov dword [esp + 0x50], ecx
cmp dword [0x1015b3c0], 0x10
jb 0x100554ce
mov eax, dword [0x1015b3ac]
mov dword [esp + 0x54], eax
cmp dword [esp + 0x50], 0
mov eax, dword [esp + 0x54]
mov dword [esp + 0x74], eax
mov eax, 0xe4952652
mov ecx, 0x53fd10c2
jmp 0x10056b62
cmp ecx, 0xc6c422c8
je 0x10056645
cmp ecx, 0xc72021eb
je 0x100567ad
cmp ecx, 0xc7552cfb
jne 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x9727d6f6
mov ecx, 0x330e1b7b
mov edx, 0x5f594864
cmovl ecx, edx
jmp 0x10054760
cmp ecx, 0x23aec7e1
je 0x100567c8
cmp ecx, 0x257e5ef0
je 0x10056801
cmp ecx, 0x2a0631dd
jne 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x4de1b49f
mov ecx, 0xf2d6c3
mov edx, 0xd63e204f
cmove ecx, edx
jmp 0x10054760
cmp ecx, 0xaa35f353
je 0x1005681c
cmp ecx, 0xad3bc0e6
je 0x10056837
cmp ecx, 0xb23a7af3
jne 0x10054760
mov ecx, dword [esp]
cmp ecx, 0xd2d98a12
mov ecx, 0x7d9a4416
mov edx, 0xc45f1450
cmovl ecx, edx
jmp 0x10054760
cmp ecx, 0x6ef0a99d
je 0x10056852
cmp ecx, 0x735c8493
je 0x1005686d
cmp ecx, 0x75bced47
jne 0x10054760
mov ecx, dword [esp]
cmp ecx, 0xc19263f1
mov ecx, 0xf2d6c3
mov edx, 0x86b330f8
cmove ecx, edx
jmp 0x10054760
cmp ecx, 0xddf858cb
je 0x100568c6
cmp ecx, 0xde92bd54
je 0x100568e1
cmp ecx, 0xdf4374c0
jne 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x2939a910
mov ecx, 0xf2d6c3
mov edx, 0xc6728903
cmove ecx, edx
jmp 0x10054760
cmp ecx, 0x3cbd9d7
je 0x100568fc
cmp ecx, 0x4f95378
je 0x10056917
cmp ecx, 0x80a46a4
jne 0x10054760
cmp dword [esp + 0x58], 0
mov eax, 0xcf92f46e
mov ecx, 0x7a5e72ce
cmovg eax, ecx
mov ecx, 0x4dec1267
jmp 0x10054760
cmp ecx, 0x85adbcdf
je 0x10056932
cmp ecx, 0x860f7d93
je 0x1005694d
cmp ecx, 0x865a29f1
jne 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x5356cf2f
mov ecx, 0x5eb9f6ce
mov edx, 0xad3bc0e6
cmovl ecx, edx
jmp 0x10054760
cmp ecx, 0x3f6e5b18
je 0x10056968
cmp ecx, 0x47f6458e
je 0x10056983
cmp ecx, 0x489b7876
jne 0x10054760
movsx edx, byte [esp + 0xd]
mov ecx, dword [esp + 0x2c]
call fcn.100577d0
jmp 0x10057767
cmp ecx, 0xc45f1450
je 0x10056a77
cmp ecx, 0xc5af6237
je 0x10056a92
cmp ecx, 0xc6728903
jne 0x10054760
movsx edx, byte [esp + 0x23]
mov ecx, dword [esp + 0x2c]
call fcn.100577d0
mov eax, 0x5edbecb4
mov ecx, 0x4dec1267
jmp 0x10054760
cmp ecx, 0x20c27265
je 0x10056b6f
cmp ecx, 0x22959975
jne 0x10054760
mov eax, dword [esp + 0x78]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x44]
movzx ecx, byte [esp + 7]
mov byte [eax], cl
mov eax, dword [esp + 0xbc]
movzx ecx, byte [esp + 8]
mov byte [eax], cl
mov eax, dword [esp + 0xc4]
movzx ecx, byte [esp + 9]
mov byte [eax], cl
cmp dword [esp + 0x58], 0
mov eax, 0x3c671ea4
jmp 0x10056b5d
cmp ecx, 0x9ffcdb42
je 0x10056c3b
cmp ecx, 0xa8d84063
jne 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x5356cf2f
mov ecx, 0xf2d6c3
mov edx, 0x1066940d
cmove ecx, edx
jmp 0x10054760
cmp ecx, 0x695d115e
je 0x10057381
cmp ecx, 0x6bb1df42
jne 0x10054760
mov dword [esp + 0xa0], 0xffffffff
mov eax, 0x1e1c9179
mov ecx, 0x4dec1267
jmp 0x10054760
cmp ecx, 0xf880e7ea
je 0x1005739c
cmp ecx, 0xfada4caa
jne 0x10054760
mov ecx, dword [esp]
cmp ecx, 0xe4952652
mov ecx, 0xf2d6c3
mov edx, 0x9ffcdb42
cmove ecx, edx
jmp 0x10054760
cmp ecx, 0x13f76ec1
je 0x100573b7
cmp ecx, 0x17f4eea9
jne 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x777b02ab
mov ecx, 0x9efed27d
mov edx, 0x87140ae7
cmovl ecx, edx
jmp 0x10054760
cmp ecx, 0x8d9a3044
je 0x10057583
cmp ecx, 0x8dd7276f
jne 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x9ac45220
mov ecx, 0xf2d6c3
mov edx, 0x5c3801f5
cmove ecx, edx
jmp 0x10054760
cmp ecx, 0x5c3801f5
je 0x100575cd
cmp ecx, 0x5e706370
jne 0x10054760
mov ecx, dword [esp]
cmp ecx, 0xbfa1db27
mov ecx, 0x1eaa16dc
mov edx, 0x85adbcdf
cmovl ecx, edx
jmp 0x10054760
cmp ecx, 0xd62607bc
je 0x10057640
cmp ecx, 0xd63e204f
jne 0x10054760
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x90]
cmp eax, dword [esp + 0xd8]
mov eax, 0x6aa9e349
mov ecx, 0x3a43743b
jmp 0x1005474d
cmp ecx, 0x2f0335c4
je 0x1005765b
cmp ecx, 0x3031628c
jne 0x10054760
movsx edx, byte [esp + 0xe]
mov ecx, dword [esp + 0x2c]
call fcn.100577d0
jmp 0x1005778f
cmp ecx, 0xbed94ab2
je 0x10057676
cmp ecx, 0xc13291eb
jne 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x73d54d2
mov ecx, 0xc72021eb
mov edx, 0xfada4caa
cmovl ecx, edx
jmp 0x10054760
cmp ecx, 0x7d9a4416
je 0x10057691
cmp ecx, 0x7e727d7f
jne 0x10054760
mov ecx, dword [esp]
cmp ecx, 0xb0583e49
mov ecx, 0xaa35f353
mov edx, 0x8dd7276f
cmovl ecx, edx
jmp 0x10054760
cmp ecx, 0xe40a96e0
jne 0x1005779e
mov ecx, dword [esp]
cmp ecx, 0xcee6a195
mov ecx, 0xf2d6c3
mov edx, 0x20c27265
cmove ecx, edx
jmp 0x10054760
mov ecx, dword [esp]
cmp ecx, 0xc8801776
mov ecx, 0xf288ccfc
mov edx, 0x79d31dca
cmovl ecx, edx
jmp 0x10054760
movzx eax, byte [esp + 0x60]
shl al, 2
mov byte [esp + 0x10], al
mov ah, byte [esp + 0x14]
shr ah, 4
mov cl, ah
and cl, 0xc
mov ebx, ecx
xor bl, 0xfc
add bl, ah
mov dl, ah
xor dl, 0xfc
add bl, dl
mov ch, ah
or ch, 0xfc
sub bl, ch
mov bh, bl
and bh, ah
add bh, bh
mov dh, bl
xor dh, ah
add dh, bh
or bl, ah
sub dh, bl
mov bl, dh
or bl, 0x27
add bl, dh
mov bh, dh
xor bh, 0x27
add bh, bl
not dh
mov al, dh
add al, dh
add al, bh
or dh, 0xd8
movzx esi, dh
lea ebx, [esi + esi*2]
neg ebx
add bl, al
mov dh, ah
not dh
xor ah, 3
mov al, dh
add al, dh
or al, 6
add al, ah
or dh, 0xfc
sub dh, al
add dh, bl
add ah, dl
add ah, ch
add ah, 1
mov ch, ah
add ch, ah
add ch, 2
mov al, ah
not al
add al, ch
mov bl, ah
sub bl, ch
movzx esi, bl
lea ebx, [esi + esi*2]
add bl, al
sub ch, ah
mov ah, ch
add ah, ch
add ah, bl
add ah, ch
add ah, dh
add ah, 0xb3
xor dl, cl
mov al, ah
and al, 0x5d
add al, al
mov dh, ah
sub dh, al
mov ch, ah
or ch, 0xa2
add ch, dh
not ah
or ah, 0xa2
add ah, dl
sub ch, ah
add ch, 0x5d
not cl
mov al, ch
or al, 0xb5
add al, ch
mov dl, ch
xor dl, 0x4a
add dl, al
or ch, 0x4a
sub dl, ch
add dl, cl
movzx eax, dl
lea ecx, [eax + eax*8]
lea ecx, [eax + ecx*8]
add cl, 0x63
mov eax, ecx
and al, 0x99
add al, cl
or cl, 0x66
sub al, cl
movzx eax, al
lea edx, [eax*8]
sub edx, eax
add dl, 0x9b
mov eax, edx
and al, 0xd0
add al, dl
or dl, 0x2f
sub dl, al
mov al, 0x5d
sub al, dl
add dl, 0xa2
movzx ecx, byte [esp + 0x10]
or dl, cl
not cl
and cl, al
add dl, dl
add dl, cl
add dl, 1
mov ecx, edx
not cl
mov eax, ecx
and al, 0xfd
add dl, dl
add dl, al
and cl, 2
add cl, dl
mov byte [esp + 0x10], cl
mov ch, byte [esp + 0x40]
shr ch, 2
mov bh, ch
xor bh, 0x30
mov al, ch
or al, 0x30
mov byte [esp + 0x3c], al
mov dl, ch
not dl
movzx edi, dl
mov al, ch
and al, 0x25
movzx eax, al
lea eax, [eax + eax*2]
neg eax
add al, dl
mov cl, ch
xor cl, 0x1a
add cl, al
mov bl, ch
add bl, ch
add cl, bl
mov byte [esp + 6], cl
lea eax, [edi + edi*2]
neg eax
sub al, bl
mov esi, eax
and bl, 0x60
mov cl, ch
xor cl, 0xf
add cl, bl
mov bl, dl
and bl, 0x70
add bl, bl
add bl, cl
mov cl, byte [esp + 0x3c]
sub bl, cl
not cl
add cl, bh
mov bh, dl
or bh, 0x30
sub cl, bh
add cl, 0x30
and cl, ch
mov bh, cl
and bh, 0x36
not cl
or cl, 0x76
sub bh, cl
add bh, 0x75
mov cl, bh
not cl
mov al, bh
xor al, 0x76
add al, bh
and cl, 0x89
add cl, al
and bh, 0x76
add bh, cl
add bh, 0x8b
mov al, ch
and al, 0xf
add al, bl
mov cl, bh
and cl, 0x9a
add cl, bh
mov bl, bh
not bl
and bl, 0x9a
add bl, cl
mov cl, dl
mov bh, dl
mov edx, esi
add dl, cl
add dl, 0x3e
or dl, cl
mov esi, edx
mov edx, ecx
add al, 0x10
and al, ch
add bl, al
add bl, 0xcb
mov eax, ebx
or al, 0x65
or bl, 0x9a
add bl, al
add bl, 0x9c
mov cl, byte [esp + 6]
add cl, 0xcc
mov al, ch
and al, 0x1a
and bh, 0xe5
or bh, al
or dl, 0x1a
sub bh, dl
add bh, 0x1a
or bh, cl
mov al, bh
xor al, 0x1a
add bh, bh
xor bh, 0xca
add bh, al
mov al, 0xe
sub al, bh
and al, 0xf
add bh, bh
mov cl, 0x1c
sub cl, bh
movzx edx, al
add al, al
and cl, 0x1e
add cl, al
lea eax, [edx + edx*2]
neg eax
add al, cl
movzx eax, al
lea edx, [eax + eax*2]
neg edx
mov eax, ebx
and al, 0x7f
mov cl, bl
add cl, bl
sub cl, al
xor al, 0x7f
add al, cl
xor bl, 0x80
add bl, al
mov al, 0x7f
sub al, bl
add bl, 0x80
mov cl, bl
and cl, dl
and al, dl
sub cl, al
add cl, dl
mov eax, ebx
or al, dl
add al, cl
mov bh, byte [esp + 0x14]
shl bh, 4
not dl
add al, dl
or dl, bl
sub al, dl
mov cl, al
and cl, 0x7f
mov edx, ecx
not dl
xor al, 0x80
add al, dl
sub al, cl
xor ch, 0xf0
mov cl, 0xfe
sub cl, ch
add ch, 1
and cl, al
mov edx, eax
add dl, al
sub dl, cl
add dl, ch
mov cl, al
xor cl, ch
add cl, dl
or ch, al
sub cl, ch
mov eax, ecx
not al
mov edx, ecx
and dl, 0x1f
add dl, cl
and al, 0xe0
add al, dl
xor cl, 0x1f
add cl, al
mov edx, esi
add dl, dl
mov eax, ecx
add al, cl
sub al, cl
sub al, dl
movzx eax, al
imul eax, eax, 0x6f
mov cl, 0x70
sub cl, al
add al, 0x8f
mov edx, eax
and dl, 1
add dl, dl
mov ch, al
sub ch, dl
or al, 0x7e
add al, ch
or cl, 0x7e
not al
add al, cl
movzx esi, al
imul eax, esi, 0xffffff8f
mov ch, 0xe1
sub ch, al
add al, 0x1e
mov cl, al
not cl
and ch, 0x81
xor al, 0x7e
add al, ch
mov edx, esi
shl edx, 5
sub edx, esi
sub edx, esi
add dl, al
or cl, 0x7e
add cl, dl
add cl, 0xbd
mov eax, ecx
or al, 0x62
or cl, 0x9d
add cl, al
mov dh, 0x1b
sub dh, cl
mov al, bh
not al
mov dl, dh
and dl, al
add dl, dl
add dl, bh
mov ah, dh
or ah, bh
not dl
add dl, ah
mov ch, byte [esp + 0x14]
shl ch, 5
or ch, 6
sub ch, bh
add ch, dl
mov dl, ch
or dl, 0xfa
add dl, ch
mov bl, ch
xor bl, 5
add bl, dl
or ch, 5
sub bl, ch
add al, al
add al, bh
or al, 1
mov dl, dh
and dl, al
mov ch, cl
add ch, 0xe4
and ch, al
add ch, dl
or al, dh
not al
add al, ch
sub al, cl
add al, bl
mov cl, dh
and cl, bh
xor dh, bh
add al, 0x1c
add dh, ah
sub ah, dh
add ah, 1
mov dl, ah
add dl, ah
sub cl, dl
add cl, ah
add cl, 1
mov edx, eax
and dl, cl
add dl, al
mov ah, cl
not ah
or al, ah
add ah, dl
add al, cl
sub ah, al
movzx eax, ah
imul eax, eax, 0x6b
add al, 0x31
mov ecx, eax
not cl
mov edx, eax
add dl, al
and dl, 0x70
add dl, al
and cl, 0x38
add cl, cl
add cl, dl
mov edx, eax
or dl, 0xb8
sub cl, dl
and al, 0x47
add al, cl
movzx edi, al
movzx ecx, byte [esp + 0x40]
mov edx, ecx
shl dl, 6
shl cl, 7
sub cl, dl
mov eax, dword [esp + 0x5c]
mov edx, eax
neg dl
mov ch, cl
and ch, dl
mov dh, cl
not dh
and dh, dl
xor dl, cl
add cl, cl
sub cl, ch
add dh, cl
add dh, al
sub dh, dl
movzx ecx, dh
imul edx, ecx, 0xffffffb9
mov ecx, edx
and cl, 0x79
add cl, dl
or dl, 0x86
sub dl, cl
add dl, 0xf3
movzx ecx, dl
imul ebx, ecx, 0xffffff89
add ecx, ecx
lea edx, [ecx + ecx*8]
neg edx
xor dl, 0x80
add dl, bl
mov ch, byte [esp + 0x10]
add ch, 0xa1
mov cl, ch
and cl, 0xa0
add cl, ch
or ch, 0x5f
sub cl, ch
mov esi, dword [esp + 0xc0]
mov byte [esi], al
add cl, 0xbf
mov byte [esp + 0xd], cl
add dl, 0x41
mov byte [esp + 0xf], dl
imul eax, edi, 0x43
add al, 0x9a
mov ecx, eax
and cl, 0x69
add cl, al
not al
and al, 0x69
add al, cl
add al, 0x6c
mov ecx, eax
or cl, 0x96
or al, 0x69
add al, cl
add al, 0x97
mov byte [esp + 0xe], al
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x88]
cmp eax, dword [esp + 0xd0]
mov eax, 0x777b02ab
mov ecx, 0xc8801776
jmp 0x1005474d
mov ecx, dword [esp]
cmp ecx, 0x5edbecb4
mov ecx, 0xf2d6c3
mov edx, 0xc5af6237
cmove ecx, edx
jmp 0x10054760
mov ebx, dword [esp + 0x70]
mov eax, 0x6234d74e
sub eax, ebx
mov ecx, eax
and ecx, 0x6234d74e
add ecx, ecx
mov edx, eax
sub edx, ecx
or eax, 0x9dcb28b1
add eax, edx
add ebx, 0x1dcb28b1
or ebx, 0x9dcb28b1
sub ebx, eax
add ebx, 1
mov eax, dword [esp + 0x70]
movzx ecx, byte [esp + 5]
mov byte [esp + eax + 0x124], cl
mov eax, dword [esp + 0xc8]
lea ecx, [eax + eax]
add ecx, 0x67feee7e
mov edx, ecx
and edx, 0x98011180
or ecx, 0x98011181
add ecx, edx
mov edx, eax
and edx, 1
add edx, ecx
add edx, 1
xor edx, 1
lea esi, [edx + 1]
mov ecx, eax
or ecx, 1
neg ecx
mov edi, esi
and edi, 0x7dad53a2
add edi, edx
add edi, 1
or esi, 0x8252ac5d
sub edi, esi
lea edx, [edi + 0x4a558bb]
mov esi, edx
xor esi, ecx
add esi, edi
add esi, 0x4a558bb
or ecx, edx
not ecx
add ecx, esi
and eax, 0xfffffffe
sub ecx, eax
sub ecx, eax
or eax, edx
add eax, ecx
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x7dad53a2
add edx, eax
and ecx, 0x8252ac5d
add ecx, edx
add eax, ecx
add eax, 0x7dad53a3
imul ecx, eax, 0xf4f1f9f1
imul eax, eax, 0x161c0c1e
lea edx, [eax + ecx]
add eax, ecx
add eax, 0x42d263f
mov ecx, eax
and ecx, 0xacc4acb4
add ecx, edx
add ecx, 0x42d263f
or eax, 0xacc4acb4
add eax, ecx
sub eax, edx
imul eax, eax, 0x19aa28ef
lea ecx, [eax - 0x12560f7d]
mov edx, ecx
not edx
or edx, ecx
and edx, 0xcb17e8dc
lea ecx, [eax + edx]
add eax, edx
add eax, 0x577a1eca
mov edx, eax
and edx, 0x6ea07d53
add ecx, edx
add ecx, 0x577a1eca
mov edx, eax
not edx
add edx, ecx
and eax, 0x915f82ac
add eax, edx
add eax, 0x915f82ad
mov dword [esp + 0x108], eax
mov dword [esp + 0xb4], ebx
cmp ebx, 4
mov eax, 0x9ac45220
mov ecx, 0xbfa1db27
cmove eax, ecx
movzx ecx, byte [esp + 0xc]
mov byte [esp + 0x1d], cl
movzx ecx, byte [esp + 0xb]
mov byte [esp + 0x1c], cl
mov ecx, 0x4dec1267
movzx edx, byte [esp + 0xa]
mov byte [esp + 0x1b], dl
jmp 0x10054760
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x118], eax
movzx eax, byte [esp + 0x1e]
mov byte [esp + 0x23], al
mov eax, dword [esp + 0xec]
mov eax, dword [esp + 0xf0]
mov eax, dword [eax]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x94]
cmp eax, dword [esp + 0xf4]
mov eax, 0x2939a910
mov ecx, 0xc19263f1
jmp 0x1005474d
movsx edx, byte [esp + 0xf]
mov ecx, dword [esp + 0x2c]
call fcn.100577d0
jmp 0x100576c5
mov ecx, dword [esp]
cmp ecx, 0x5edbecb4
mov ecx, 0x642ac9a5
mov edx, 0x817a38a3
cmovl ecx, edx
jmp 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x8c8c05a1
mov ecx, 0xde92bd54
mov edx, 0x860f7d93
cmovl ecx, edx
jmp 0x10054760
mov dword [esp], eax
mov ecx, 0xd26a2b5d
jmp 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x2939a910
mov ecx, 0xdf4374c0
mov edx, 0x18f1b868
cmovl ecx, edx
jmp 0x10054760
mov ecx, dword [esp]
cmp ecx, 0xc19263f1
mov ecx, 0x2dee9116
mov edx, 0xc1b794ff
cmovl ecx, edx
jmp 0x10054760
mov ecx, 0x4dec1267
mov dword [esp + 0x5c], 0xffffffff
mov eax, 0x8c8c05a1
jmp 0x10057364
mov eax, dword [esp + 0x90]
lea edx, [eax + 0x4adda874]
mov ecx, edx
and ecx, 0x4adda874
add ecx, eax
or edx, 0xb522578b
sub edx, ecx
lea ecx, [edx + 0x4adda875]
mov esi, eax
or esi, 1
mov edi, esi
not edi
add edi, eax
sub esi, eax
lea esi, [edi + esi*2]
add esi, 1
mov edi, ecx
and edi, esi
add edx, edi
add edx, 0x4adda875
or esi, ecx
add esi, edx
not ecx
add ecx, esi
or eax, 0xfffffffe
mov edx, ecx
not edx
and edx, eax
lea edx, [edx + ecx*2]
add edx, eax
or eax, ecx
sub eax, edx
lea ecx, [eax + 0x162cb6c5]
not ecx
and ecx, 0xe9d34939
add ecx, eax
add ecx, 0x162cb6c5
mov edx, 0xe9d3493a
sub edx, eax
or edx, 0x162cb6c6
sub ecx, edx
imul eax, ecx, 0x691cb6ad
mov ecx, eax
and ecx, 0x51782a6f
add ecx, eax
or eax, 0xae87d590
sub eax, ecx
imul eax, eax, 0xec37e2db
lea ecx, [eax + 0x25532dd0]
mov edx, dword [esp + 0x38]
mov dword [edx], ecx
mov edx, dword [esp + 0xd8]
mov ecx, dword [esp + 0x84]
cmp edx, 0x10
jae 0x100576ac
mov ecx, dword [esp + 0x4c]
jmp 0x100576ae
mov ecx, dword [esp]
cmp ecx, 0x5c04d819
mov ecx, 0xf2d6c3
mov edx, 0xecfef5b3
cmove ecx, edx
jmp 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x111ac031
mov ecx, 0x8713ff53
mov edx, 0x49e211d4
cmovl ecx, edx
jmp 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x70c6c3d9
mov ecx, 0x17f4eea9
mov edx, 0x257e5ef0
cmovl ecx, edx
jmp 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x9727d6f6
mov ecx, 0xf2d6c3
mov edx, 0x22959975
cmove ecx, edx
jmp 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x9ac45220
mov ecx, 0x8d10142
mov edx, 0xc277e548
cmovl ecx, edx
jmp 0x10054760
mov eax, dword [esp + 0x98]
movzx eax, byte [esp + eax + 0x121]
mov byte [esp + 0x1e], al
mov eax, 0x5356cf2f
mov ecx, dword [esp + 0x98]
mov dword [esp + 0xb0], ecx
mov ecx, 0x4dec1267
jmp 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x777b02ab
mov ecx, 0xf2d6c3
mov edx, 0x489b7876
cmove ecx, edx
jmp 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x1e1c9179
mov ecx, 0xf2d6c3
mov edx, 0x84f5d191
cmove ecx, edx
jmp 0x10054760
movzx eax, byte [esp + 5]
push eax
call fcn.1005b450
add esp, 4
movzx ecx, byte [esp + 5]
mov edx, ecx
not dl
and dl, 4
xor cl, 0xfb
add cl, dl
not cl
movzx edx, cl
mov ecx, edx
shl ecx, 4
sub edx, ecx
mov cl, 0x12
sub cl, dl
add dl, 0xed
mov ch, dl
add ch, dl
or ch, 0x3c
or dl, 0xe1
add dl, ch
or cl, 0x1e
add cl, dl
mov edx, ecx
add dl, 2
mov ch, dl
not ch
and ch, 0xec
movzx esi, ch
lea ebx, [esi + esi*2]
neg ebx
sub bl, cl
mov ecx, edx
xor cl, 0xec
add cl, bl
or dl, 0xec
add dl, cl
add dl, 0xfd
movzx edx, dl
mov ecx, edx
shl ecx, 4
add ecx, edx
mov ebx, ecx
xor bl, 0xdd
add bl, cl
not cl
add cl, bl
mov esi, edx
shl esi, 5
lea edx, [esi + edx*2]
and dl, 0xba
add dl, cl
add dl, 0x47
mov ecx, edx
add cl, dl
sub cl, dl
test eax, eax
mov eax, 0x9727d6f6
mov edx, 0x6f88240a
cmovne eax, edx
cmp cl, 0x4c
cmove eax, edx
jmp 0x100576f9
mov eax, dword [esp + 0x64]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0xe4]
lea ecx, [esp + 0x124]
add eax, ecx
mov dword [esp + 0xe8], eax
cmp byte [esp + 0x2b], 0
mov eax, 0x80c019d4
mov ecx, 0x128e48f8
jmp 0x10056417
mov ecx, dword [esp]
cmp ecx, 0x6aa9e349
mov ecx, 0x30f0af67
mov edx, 0x3d2cbd9f
cmovl ecx, edx
jmp 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x174a5815
mov ecx, 0x8b0c2722
mov edx, 0x9a954d6e
cmovl ecx, edx
jmp 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x3c671ea4
mov ecx, 0x2f0335c4
mov edx, 0x3f6e5b18
cmovl ecx, edx
jmp 0x10054760
cmp byte [esp + 0x2a], 0
mov eax, 0xcee6a195
mov ecx, 0xdf15bad1
cmovne eax, ecx
mov ecx, 0x4dec1267
jmp 0x10054760
mov ecx, dword [esp]
cmp ecx, 0xb2bf6c34
mov ecx, 0x5e706370
mov edx, 0x7e727d7f
cmovl ecx, edx
jmp 0x10054760
mov esi, dword [esp + 0xac]
mov ecx, 0x850a430
sub ecx, esi
sub ecx, esi
or ecx, 0xf7af5bd0
add ecx, esi
lea eax, [esi + esi]
add eax, 0x7af5bce
or eax, 0xf7af5bd0
add eax, ecx
mov ecx, esi
sub ecx, eax
neg eax
add eax, esi
add eax, 0xf7af5bce
mov edx, eax
and edx, 0xd8f18dc5
add ecx, edx
add ecx, 0xf7af5bce
mov edx, eax
not edx
and edx, 0x270e723a
add edx, ecx
xor eax, 0xd8f18dc5
lea ecx, [eax + edx]
add ecx, 0xd8f18dc7
add eax, edx
add eax, 0xd8f18dc5
and eax, 0xfffffffe
mov edx, ecx
xor edx, 0xfffffffe
add edx, eax
or ecx, 1
lea eax, [ecx + edx]
add eax, 0x152acb0
mov ecx, eax
or ecx, 0x25bbc58b
or eax, 0xda443a74
add eax, ecx
add eax, esi
mov ecx, 0x1d3ff030
sub ecx, eax
mov eax, ecx
and eax, 0xbd044a43
add eax, ecx
or ecx, 0x42fbb5bc
sub ecx, eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xc8], eax
movzx eax, byte [esp + 0x1f]
mov byte [esp + 0xa], al
movzx eax, byte [esp + 0x20]
mov byte [esp + 0xb], al
movzx eax, byte [esp + 0x21]
mov byte [esp + 0xc], al
add ecx, 1
mov dword [esp + 0xcc], ecx
mov eax, dword [esp + 0x100]
cmp dword [eax], 0x10
mov eax, dword [esp + 0x104]
jae 0x100576d4
mov eax, dword [esp + 0xfc]
jmp 0x100576d6
mov eax, dword [esp + 0x94]
lea ecx, [eax - 1]
add eax, eax
add eax, 0xfffffffe
sub eax, ecx
lea ecx, [eax - 0x31750b23]
mov edx, ecx
and edx, 0x31750b25
add edx, eax
add edx, 0xce8af4dd
or ecx, 0x31750b25
add ecx, edx
sub ecx, eax
imul eax, ecx, 0xc2ca30d
lea ecx, [eax - 0x6a623d02]
mov edx, ecx
not edx
or edx, ecx
and edx, 0xc1f9a9fc
lea ecx, [eax + edx]
add eax, edx
add eax, 0x11aa6f05
mov edx, eax
and edx, 0xfe90e936
add ecx, edx
add ecx, 0x11aa6f05
mov edx, eax
not edx
add edx, ecx
and eax, 0x16f16c9
add eax, edx
imul eax, eax, 0x4dae3c5
lea ecx, [eax - 0x3608a8d]
mov edx, ecx
and edx, 0x749ca750
add eax, edx
add eax, 0xfc9f7573
or ecx, 0x8b6358af
sub eax, ecx
lea ecx, [eax + 0x16c6b15f]
mov edx, dword [esp + 0xf0]
mov dword [edx], ecx
mov edx, dword [esp + 0xf4]
mov ecx, dword [esp + 0x114]
cmp edx, 0x10
jae 0x10057726
mov ecx, dword [esp + 0x4c]
jmp 0x10057728
mov ecx, dword [esp]
cmp ecx, 0x111ac031
mov ecx, 0xf2d6c3
mov edx, 0x9b47d42
cmove ecx, edx
jmp 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x810957f
mov ecx, 0xf2d6c3
mov edx, 0x8ea24f80
cmove ecx, edx
jmp 0x10054760
mov ecx, 0x2d20d650
jmp 0x10054760
mov eax, dword [esp + 0x88]
lea ecx, [eax + 1]
mov edx, eax
and edx, 0xfffffffe
mov esi, eax
and esi, 1
mov edi, esi
xor edi, 1
sub edi, edx
mov ebx, eax
xor ebx, 0xfffffffe
add ebx, edi
lea edi, [ebx + eax*2]
not esi
add esi, edi
add esi, 2
mov edi, eax
xor edi, 1
mov ebx, edi
sub ebx, edx
add ebx, edi
mov edx, eax
or edx, 0xfffffffe
lea edi, [edx + ebx]
add edi, 1
or edi, esi
mov edx, edi
neg edx
lea esi, [edi + eax*2]
add esi, 2
mov ebx, ecx
or ebx, edx
add ebx, edi
sub esi, ebx
and edx, ecx
mov ecx, edx
not ecx
add ecx, esi
add ecx, 1
add esi, 1
or eax, 1
mov edi, ecx
and edi, 0x525eb679
sub edx, esi
and edx, 0xada14986
or edx, edi
mov esi, ecx
or esi, 0x525eb679
add esi, edx
and ecx, 0xada14986
add ecx, esi
sub ecx, eax
lea eax, [ecx + 0x525eb67a]
mov edx, eax
and edx, 0x525eb679
add ecx, edx
add ecx, 0x525eb67a
or eax, 0xada14986
sub ecx, eax
lea eax, [ecx + 0x71f24c0a]
mov edx, eax
or edx, 1
add edx, ecx
mov ecx, eax
xor ecx, 0xfffffffe
add ecx, edx
or eax, 0xfffffffe
sub ecx, eax
imul eax, ecx, 0xf6de30c1
lea ecx, [eax + 0x552b1c0c]
mov edx, ecx
xor edx, 0xa4a96c0c
add eax, edx
add eax, 0x552b1c0c
mov edx, ecx
not edx
and edx, 0x5b5693f3
add edx, eax
or ecx, 0x5b5693f3
lea eax, [edx + ecx]
add ecx, edx
add ecx, 2
mov edx, ecx
not edx
mov esi, edx
and esi, 0x24209ebe
add eax, esi
add eax, 2
and edx, 0xdbdf6141
add edx, eax
add edx, ecx
imul ecx, edx, 0x101a0bf
lea eax, [ecx - 0x14b8128b]
mov edx, eax
not edx
and eax, 0x4bb4d03e
add eax, ecx
add eax, 0xeb47ed75
and edx, 0xb44b2fc1
sub edx, eax
lea eax, [ecx + edx]
add ecx, edx
add ecx, 0xeb47ed76
mov edx, dword [esp + 0x38]
mov dword [edx], ecx
mov edx, dword [esp + 0xd0]
mov ecx, dword [esp + 0x84]
cmp edx, 0x10
jae 0x1005774e
mov ecx, dword [esp + 0x4c]
jmp 0x10057750
mov ecx, dword [esp]
cmp ecx, 0x73d54d2
mov ecx, 0xf2d6c3
mov edx, 0xfbac5383
cmove ecx, edx
jmp 0x10054760
mov eax, dword [esp + 0x34]
movzx eax, byte [esp + 0xf]
mov byte [esp + 0x1d], al
movzx eax, byte [esp + 0xe]
mov byte [esp + 0x1c], al
mov ecx, 0x4dec1267
mov dword [esp + 0xb4], 0
mov eax, 0x9ac45220
movzx edx, byte [esp + 0xd]
mov byte [esp + 0x1b], dl
jmp 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x6f88240a
mov ecx, 0x694730a6
mov edx, 0x695d115e
cmovl ecx, edx
jmp 0x10054760
mov ecx, dword [esp]
cmp ecx, 0xb0583e49
mov ecx, 0xf2d6c3
mov edx, 0x23aec7e1
cmove ecx, edx
jmp 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x1e1c9179
mov ecx, 0xd62607bc
mov edx, 0xe650829f
cmovl ecx, edx
jmp 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x7a5e72ce
mov ecx, 0xf2d6c3
mov edx, 0x735c8493
cmove ecx, edx
jmp 0x10054760
mov eax, 0x1015b3ac
mov ecx, dword [0x1015b3bc]
mov dword [esp + 0xdc], ecx
cmp dword [0x1015b3c0], 0x10
jb 0x1005688d
mov eax, dword [0x1015b3ac]
mov dword [esp + 0xe0], eax
cmp dword [esp + 0xdc], 0
sete byte [esp + 0x2b]
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x10c], eax
mov ecx, 0x4dec1267
mov dword [esp + 0x64], 0
mov eax, 0x8d6a3475
jmp 0x10054760
mov ecx, dword [esp]
cmp ecx, 0xdf15bad1
mov ecx, 0xf880e7ea
mov edx, 0xb23a7af3
cmovl ecx, edx
jmp 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x8c8c05a1
mov ecx, 0xf2d6c3
mov edx, 0x9ad91b90
cmove ecx, edx
jmp 0x10054760
mov ecx, dword [esp]
cmp ecx, 0xc32ceef4
mov ecx, 0xf2d6c3
mov edx, 0xc2126bf8
cmove ecx, edx
jmp 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x53fd10c2
mov ecx, 0xf2d6c3
mov edx, 0x13cd58c5
cmove ecx, edx
jmp 0x10054760
mov ecx, dword [esp]
cmp ecx, 0xb2bf6c34
mov ecx, 0xf2d6c3
mov edx, 0x8d9a3044
cmove ecx, edx
jmp 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x80c019d4
mov ecx, 0xf2d6c3
mov edx, 0x47f6458e
cmove ecx, edx
jmp 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x3a43743b
mov ecx, 0xf2d6c3
mov edx, 0x933ca2
cmove ecx, edx
jmp 0x10054760
mov eax, dword [esp + 0xe8]
movsx eax, byte [eax]
push dword [esp + 0xdc]
push eax
push dword [esp + 0xe8]
call fcn.10059f70
add esp, 0xc
mov ecx, dword [esp + 0x10c]
lea edx, [eax - 0x3d294f6e]
mov esi, edx
or esi, 0xc2d6b092
or edx, 0x3d294f6d
mov ebx, 0xc2d6b091
sub ebx, esi
sub ebx, edx
lea edi, [ebx + ecx*2]
or ebx, ecx
not ebx
add ebx, edi
add edx, esi
add edx, 0x3d294f6e
or edx, ecx
sub edx, ebx
imul ecx, edx, 0xf9d1797
mov edx, ecx
and edx, 0x89bb7bc7
add edx, ecx
mov esi, ecx
xor esi, 0x89bb7bc7
add esi, edx
or ecx, 0x89bb7bc7
sub ecx, esi
imul edx, ecx, 0xa49927d9
lea ecx, [edx + 0x399d850a]
mov esi, 0xc6627af5
sub esi, edx
mov edi, esi
and edi, 0xc5b63caf
add edx, edi
add edx, 0x399d850a
xor ecx, 0x3a49c350
add ecx, edx
or esi, 0xc5b63caf
sub ecx, esi
lea edx, [ecx - 0x3a49c351]
mov esi, edx
and esi, 0xac3e47
add ecx, ecx
add ecx, 0x8b6c795e
sub ecx, esi
xor esi, 0xac3e47
add esi, ecx
xor edx, 0xff53c1b8
test eax, eax
lea eax, [edx + esi + 0xac3e48]
mov dword [esp + 0xa0], eax
mov eax, 0x1e1c9179
mov ecx, 0x128e48f8
jmp 0x10056b62
mov ecx, dword [esp]
cmp ecx, 0xcf92f46e
mov ecx, 0xf2d6c3
mov edx, 0x57f3cc33
cmove ecx, edx
jmp 0x10054760
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0x118]
mov eax, ecx
not eax
mov edx, ecx
and edx, 1
mov esi, ecx
xor esi, 0xfffffffe
mov edi, ecx
and edi, 0xfffffffe
add edi, ecx
and eax, 1
add eax, edi
lea edi, [ecx + ecx]
or ecx, 1
sub eax, ecx
or eax, esi
sub esi, edx
or edi, 2
add edi, esi
mov ecx, edi
and ecx, 0x9d5250b3
mov esi, edi
sub esi, ecx
sub esi, ecx
or edi, 0x62adaf4c
add edi, esi
add edi, ecx
lea ecx, [edi + eax]
add eax, edi
add eax, 0xf6d97edb
mov edx, eax
or edx, 0xa678d1dc
add ecx, edx
add ecx, 0xf6d97edb
mov edx, eax
xor edx, 0x59872e23
add edx, ecx
or eax, 0x59872e23
sub edx, eax
lea eax, [edx - 0x2d15a30c]
mov ecx, eax
and ecx, 0xda6e3208
add ecx, edx
add ecx, 0xd2ea5cf4
or eax, 0x2591cdf7
sub ecx, eax
lea eax, [ecx + 0x4b239bee]
add ecx, ecx
add ecx, 0x964737dc
sub ecx, eax
add ecx, 0x783d515
mov dword [esp + 0x98], ecx
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x98]
cmp ecx, eax
mov eax, 0xc32ceef4
mov ecx, 0xdf15bad1
cmove eax, ecx
mov ecx, 0x4dec1267
jmp 0x10054760
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x104], eax
lea eax, [esp + 0x125]
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x126]
mov dword [esp + 0x80], eax
lea eax, [esp + 0x122]
mov dword [esp + 0xbc], eax
lea eax, [esp + 0x127]
mov dword [esp + 0xc0], eax
lea eax, [esp + 0x123]
mov dword [esp + 0xc4], eax
lea eax, [esp + 0x11c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x44]
movzx eax, byte [eax]
mov byte [esp + 0x1f], al
mov eax, dword [esp + 0xbc]
movzx eax, byte [eax]
mov byte [esp + 0x20], al
mov eax, dword [esp + 0xc4]
movzx eax, byte [eax]
mov byte [esp + 0x21], al
mov ecx, 0x4dec1267
mov dword [esp + 0xa8], 0
mov eax, 0x111ac031
mov edx, dword [esp + 0xb8]
mov dword [esp + 0xac], edx
mov dword [esp + 0xa4], 0
jmp 0x10054760
mov eax, dword [esp + 0x30]
movsx eax, byte [eax]
push dword [esp + 0x50]
push eax
push dword [esp + 0x5c]
call fcn.10059f70
add esp, 0xc
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x74]
mov edx, ecx
not edx
lea edi, [ecx + edx*2]
add edi, 1
lea esi, [edi + edi]
sub esi, edi
and esi, eax
lea edi, [esi + esi]
shl esi, 2
sub esi, edi
lea edi, [esi + 0xd5f5a32]
mov ebx, 0xf2a0a5cd
sub ebx, esi
and ebx, eax
add ebx, eax
mov ebp, edi
xor ebp, eax
not ebp
add ebp, ebx
lea esi, [esi*2]
add esi, ebp
and edi, eax
not edi
add esi, edi
add esi, 0x1abeb466
mov edi, esi
or edi, 0xd5f5a32
or esi, 0xf2a0a5cd
add esi, edi
mov edi, eax
or edi, edx
lea ebx, [ecx + edi]
add ebx, 1
mov edi, ecx
xor edi, eax
lea ebp, [edi + ebx]
lea eax, [edi + ebx]
add eax, 1
and edi, ebx
mov ebx, edi
not ebx
add ebx, ebp
add ebx, 1
sub edi, eax
mov eax, edi
and eax, 0xb3a44cca
mov ebp, ebx
and ebp, 0x4c5bb335
or ebp, eax
mov eax, ebp
xor eax, 0x4c5bb335
or edi, 0x4c5bb335
add edi, eax
xor ebp, 0x33a44cca
add ebp, edi
or ebx, 0x33a44cca
sub ebp, ebx
lea eax, [esi + ebp*2]
lea esi, [esi + ebp*2]
add esi, 0xf61c8744
mov edi, esi
and edi, 0x63ccb821
add edi, eax
add edi, 0xf61c8744
or esi, 0x9c3347de
or edx, 0xfbd61607
add edx, ecx
mov ebx, 0xfbd61606
sub ebx, edx
mov edx, ecx
and edx, 0x429e9f8
or edx, ebx
mov eax, edx
xor eax, 0x429e9f8
or ebx, 0x429e9f8
add ebx, eax
mov eax, edx
xor eax, 0xfbd61607
add eax, ebx
or edx, 0xfbd61607
sub eax, edx
lea edx, [eax - 0x429e9f8]
not edx
lea ebx, [eax + edx*2]
add ebx, 0xfbd61608
lea eax, [eax + edx*2]
add eax, 0xfbd61609
mov edx, esi
not edx
add edx, edi
not eax
mov ebp, dword [esp + 0x14]
and eax, ebp
add ebx, eax
add ebx, 1
mov eax, edx
and eax, 0x446627d
add eax, edx
or edx, 0x446627d
add edx, eax
sub ebx, ebp
sub esi, edi
add esi, edx
mov edi, 0x446627a
sub edi, ebx
sub edi, esi
lea edx, [ebx + esi]
add edx, 0xfbb99d85
mov esi, edx
not esi
and ecx, ebp
and edx, 0x1a8d96a0
add edx, edx
or edi, 0x1a8d96a0
sub edx, edi
or esi, 0xe572695f
add esi, edx
lea eax, [ecx + esi]
add eax, 0xe5726961
imul edx, eax, 0xabf0c423
imul eax, eax, 0xa81e77ba
lea ecx, [eax + edx]
add eax, edx
add eax, 0x9c4b993
mov edx, 0x763b466c
sub edx, ecx
and edx, 0x426f9cbb
or eax, 0xbd906344
add eax, edx
sub ecx, eax
lea eax, [ecx - 0x33cba9b3]
mov esi, eax
not esi
and eax, 0x578d2e8d
add eax, ecx
add eax, 0xcc34564d
and esi, 0x578d2e8d
add esi, eax
imul edx, esi, 0x76480b8b
mov ecx, edx
not ecx
imul eax, esi, 0xec901716
and eax, 0x10
add eax, edx
mov esi, ecx
and esi, 8
lea eax, [eax + esi*2]
or edx, 0x88
sub edx, eax
or ecx, 0x88
add ecx, edx
add cl, 0x12
cmp ebp, 1
sbb edx, edx
or dl, cl
mov dword [esp + 0x6c], edx
mov eax, dword [esp + 0x30]
mov byte [eax], dl
mov eax, dword [esp + 0x7c]
movsx eax, byte [eax]
push dword [esp + 0x50]
push eax
push dword [esp + 0x5c]
call fcn.10059f70
add esp, 0xc
mov ecx, dword [esp + 0x74]
lea edx, [eax + 0x42cb7fbe]
mov esi, edx
and esi, 0xbd348041
add esi, eax
add esi, 0x42cb7fbe
mov edi, 0x3d348041
sub edi, eax
and edi, 0x42cb7fbe
lea edi, [edi + edi*2]
sub esi, edi
xor edx, 0x42cb7fbe
add edx, esi
sub edx, eax
sub edx, eax
mov esi, ecx
neg esi
lea edi, [edx + 0x775d769]
or edi, esi
add edx, edi
add edx, 0x775d769
add edi, ecx
sub edx, edi
mov esi, edx
or esi, 0x4a415726
sub esi, edx
sub esi, edx
or edx, 0xb5bea8d9
lea edi, [esi + edx]
mov ecx, 0xb5bea9a6
sub ecx, edi
and ecx, 0xcf
add ecx, edi
add edx, esi
add edx, 0x4a415759
xor edx, 0x30
add edx, ecx
mov ecx, 0xb5bea8e6
sub ecx, edi
or ecx, 0xcf
sub ecx, edx
add cl, 0xd8
cmp eax, 1
sbb edx, edx
or dl, cl
mov dword [esp + 0x68], edx
mov eax, dword [esp + 0x7c]
mov byte [eax], dl
mov eax, dword [esp + 0x80]
movsx eax, byte [eax]
push dword [esp + 0x50]
push eax
push dword [esp + 0x5c]
call fcn.10059f70
add esp, 0xc
mov edi, dword [esp + 0x74]
mov dword [esp + 0x40], edi
mov esi, eax
not esi
mov edx, esi
mov ecx, esi
and ecx, 0xc4bcf91c
lea ecx, [ecx + eax*2]
or edx, 0xc4bcf91c
add edx, ecx
lea ebx, [edi + edi*2]
mov dword [esp + 0x60], ebx
mov edi, 0x979f234
sub edi, edx
sub edi, edx
and edi, 0x3a3a99c4
add edi, edx
mov ecx, 0xc4bcf91a
sub ecx, edx
add ecx, ecx
or ecx, 0xc5c5663a
sub edi, ecx
mov edx, 0xb9b25b57
sub edx, edi
sub edx, ebx
mov dword [esp + 0x14], edx
lea edx, [esi + esi]
mov ecx, eax
mov dword [esp + 0x24], eax
lea eax, [edx + eax*2]
lea edx, [eax + esi]
mov dword [esp + 0x10], edx
lea ebp, [esi + eax + 2]
mov edx, dword [esp + 0x40]
mov ebx, edx
not ebx
and esi, ebx
add esi, ecx
mov eax, ecx
and eax, ebx
add eax, eax
sub esi, eax
mov eax, ebp
mov ecx, edx
and eax, edx
mov dword [esp + 0x5c], eax
mov edx, dword [esp + 0x10]
add eax, edx
add eax, 2
mov edx, ebp
or edx, ecx
sub eax, edx
lea edx, [ebx + ebx*2]
lea edx, [edx + ecx*2]
mov dword [esp + 0x10], edx
add eax, ecx
xor ebp, ecx
mov edx, ecx
mov ebx, dword [esp + 0x24]
and edx, ebx
add edx, edx
sub esi, edx
mov ecx, dword [esp + 0x60]
add ecx, edi
add ecx, 0x464da4a8
add esi, ebx
lea edi, [esi + esi]
add edi, 2
mov ebx, ecx
or ebx, edi
or dword [esp + 0x14], edi
not edi
mov edx, ecx
and edx, edi
lea edx, [edx + esi*2]
add edx, 2
add ebx, edx
or edi, ecx
add edi, ebx
mov edx, dword [esp + 0x14]
lea ecx, [edi + edx]
add edx, edi
add edx, 2
mov esi, edx
not esi
and esi, 0x45453788
lea esi, [esi + esi*2]
add esi, ecx
mov ecx, edx
xor ecx, 0x45453788
sub ecx, esi
or edx, 0x45453788
mov edi, 0x740651cd
sub edi, ecx
sub edi, edx
add ecx, edx
add ecx, 0x8bf9ae32
mov edx, dword [esp + 0x10]
add edx, edx
add edx, 4
mov esi, edx
not esi
and esi, ecx
add esi, esi
mov ebx, ecx
sub ebx, esi
or ecx, edx
add ecx, ebx
or edi, edx
sub edi, ecx
sub eax, dword [esp + 0x5c]
or ebp, eax
lea eax, [edi - 0x740651ca]
add ebp, ebp
mov ecx, eax
or ecx, ebp
add ecx, edi
add ecx, 0x8bf9ae36
mov edx, eax
xor edx, ebp
not edx
add edx, ecx
not ebp
or ebp, eax
sub ebp, edx
imul eax, ebp, 0x8bca062d
lea ecx, [eax - 0x1b9edada]
mov edx, ecx
and edx, 0x883af62f
add eax, edx
add eax, 0xe4612526
or ecx, 0x77c509d0
mov edx, ecx
not edx
add edx, eax
sub ecx, eax
mov eax, edx
and eax, 0xe4612525
and ecx, 0x1b9edada
or ecx, eax
mov eax, edx
or eax, 0xe4612525
add eax, ecx
and edx, 0x1b9edada
add edx, eax
imul eax, edx, 0x555239a5
lea ecx, [eax - 0x2bc2dd9]
mov edx, ecx
and edx, 0x7daa3e9b
add edx, eax
add edx, 0xfd43d227
or ecx, 0x8255c164
sub edx, ecx
lea eax, [edx + edx]
sub eax, edx
add al, 0x19
cmp dword [esp + 0x24], 1
sbb ecx, ecx
or cl, al
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x80]
mov byte [eax], cl
mov eax, dword [esp + 0xc0]
movsx eax, byte [eax]
push dword [esp + 0x50]
push eax
push dword [esp + 0x5c]
call fcn.10059f70
add esp, 0xc
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x74]
mov edi, eax
not edi
mov edx, ecx
and edx, edi
mov esi, ecx
xor esi, eax
add esi, edx
mov edx, ecx
or edx, eax
not edx
add edx, esi
lea esi, [eax + edx]
add esi, 1
and esi, eax
mov edx, esi
and edx, 0x5ef96816
add edx, esi
or esi, 0xa10697e9
sub edx, esi
lea esi, [edx + eax]
add esi, 0x420d2fd2
add edx, eax
mov ebx, esi
not ebx
and ebx, 0xa10697e9
lea edx, [ebx + edx*2]
add edx, 0x841a5fa4
or esi, 0xa10697e9
sub edx, esi
add edx, 0x5ef96817
mov esi, edx
and esi, 0xdf4025f7
not edx
mov ebx, edx
or ebx, 0xa0bfda08
lea esi, [ebx + esi*2]
or edx, 0x5f4025f7
add edx, ecx
sub edx, esi
mov esi, ecx
not esi
mov ebx, ecx
or ebx, edi
and edi, esi
lea ebp, [ecx + edi*2]
sub ebp, ebx
mov ebx, ebp
not ebx
lea edi, [ebx*2]
add edi, ebp
lea ebp, [ebp + ebx*2 + 1]
not ebp
mov eax, ebp
and eax, 0xeb411528
add ebp, ebp
or ebp, 0xd6822a50
mov ebx, eax
sub ebx, ebp
add eax, edi
add eax, 0x14beead9
add edi, edi
add edi, 2
or edi, 0xd6822a50
sub ebx, edi
add ebx, 0xd6822a4e
or eax, ebx
mov edi, eax
and edi, 0xeb411528
mov ebx, eax
xor ebx, 0xeb411528
add edi, ebx
add edi, ebx
or eax, 0xeb411528
sub edi, eax
lea eax, [edx + edi*2]
add eax, 2
add edi, 1
mov ebx, edx
or ebx, edi
not ebx
add ebx, eax
not edx
or edx, edi
sub edx, ebx
mov eax, esi
and eax, 0x3297681b
mov edi, ecx
xor edi, 0x4d6897e4
lea edi, [edi + eax*2]
or esi, 0xb297681b
sub edi, esi
and ecx, 0x4d6897e4
mov eax, edi
or eax, ecx
mov esi, edi
xor esi, ecx
lea eax, [esi + eax*2]
mov esi, ecx
not esi
lea eax, [eax + esi*2]
and ecx, edi
not edi
lea esi, [eax + edi*2]
not ecx
lea eax, [ecx + ecx*2]
sub esi, eax
add esi, 1
xor esi, 0xb297681b
mov eax, edx
and eax, 0x39028346
lea ecx, [edx + edx]
sub ecx, eax
xor eax, 0x39028346
add eax, ecx
xor edx, 0xc6fd7cb9
mov edi, 0x39028344
sub edi, eax
sub edi, edx
lea ecx, [esi + 1]
add edx, eax
add edx, 0xc6fd7cbb
mov eax, edx
and eax, ecx
and edi, ecx
sub eax, edi
add eax, esi
add eax, 1
or ecx, edx
add ecx, eax
mov eax, 0xfffffffe
sub eax, esi
or eax, edx
add eax, esi
sub ecx, eax
lea eax, [ecx - 2]
mov edx, eax
not edx
and edx, 0xc6fd7cb9
add ecx, edx
add ecx, 0xfffffffe
mov edx, eax
xor edx, 0x39028346
add edx, ecx
and eax, 0x39028346
add eax, edx
imul eax, eax, 0x8c1d09af
add eax, 0xc2603c89
mov ecx, eax
and ecx, 0x827176ab
or eax, 0x827176ab
add eax, ecx
add eax, 0xfb1d12a8
not eax
imul eax, eax, 0xf42212b1
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x47d67f3b
lea eax, [eax + edx*2]
add ecx, ecx
or ecx, 0x70530188
sub eax, ecx
add eax, 0x92afdc9c
mov dword [esp + 0x5c], eax
cmp dword [esp + 0x14], 0
mov eax, 0x8c8c05a1
mov ecx, 0x73d54d2
cmove eax, ecx
mov ecx, 0x4dec1267
mov edx, dword [esp + 0x24]
mov byte [esp + 0x40], dl
mov edx, dword [esp + 0x6c]
mov byte [esp + 0x60], dl
mov edx, dword [esp + 0x68]
mov byte [esp + 0x14], dl
jmp 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x6aa9e349
mov ecx, 0xf2d6c3
mov edx, 0x89f924fd
cmove ecx, edx
jmp 0x10054760
mov ecx, dword [esp]
cmp ecx, 0xe4952652
mov ecx, 0xc13291eb
mov edx, 0xbbd5c22e
cmovl ecx, edx
jmp 0x10054760
mov eax, dword [esp + 0x8c]
mov ecx, eax
or ecx, 0xbfa15f05
mov edx, eax
xor edx, 0x405ea0fa
add edx, ecx
mov esi, eax
not esi
mov ecx, esi
or ecx, 0xbfa15f05
sub edx, ecx
mov ecx, eax
or ecx, 0xfffffffe
mov edi, ecx
not edi
add edi, edx
mov ebx, edi
and ebx, 0xc4f50693
add ebx, edi
or edi, 0xc4f50693
add edi, ebx
sub ecx, edx
add ecx, edi
mov edx, eax
xor edx, 0xa5807f67
mov edi, edx
and edi, 0xa5807f66
mov ebx, eax
xor ebx, 1
add ebx, edi
or edx, 0x5a7f8099
sub ebx, edx
lea edx, [ebx + 0x5a7f8099]
not edx
lea edi, [ebx + edx*2]
add edi, 0x5a7f8099
mov ebx, 0xc4f50690
sub ebx, ecx
mov edx, edi
and edx, ebx
add edx, ecx
not edi
or edi, ebx
sub edx, edi
lea ecx, [edx + 0x3b0af96f]
mov edi, esi
and edi, 0xefd68222
add edi, edi
or esi, 0x90297ddd
sub edi, esi
add edi, 0x90297ddd
mov esi, edi
not esi
and eax, 0x90297ddd
or eax, edi
and edi, 0xefd68222
mov ebx, eax
xor ebx, 0x90297ddd
lea edi, [ebx + edi*2]
and esi, 0x6fd68222
lea esi, [edi + esi*2]
mov edi, eax
or edi, 0x6fd68222
sub esi, edi
and eax, 0x90297ddd
add esi, eax
add esi, 0x90297dde
mov eax, esi
and eax, 1
mov edi, esi
or edi, 1
sub eax, edi
sub eax, edi
mov ebx, esi
not ebx
add ebx, ebx
or ebx, 2
sub eax, ebx
mov ebx, esi
and ebx, 0xfffffffe
xor esi, 1
add esi, ebx
not edi
add esi, edi
add esi, 2
or esi, eax
mov eax, ecx
and eax, 0x3de3cb5a
add eax, edx
add eax, 0x3b0af96f
mov edx, ecx
or edx, 0x3de3cb5a
add eax, edx
not ecx
or ecx, 0xc21c34a5
add ecx, eax
add edx, esi
sub ecx, edx
lea eax, [ecx + 0x3de3cb5c]
mov edx, eax
and edx, 0x3de3cb5a
add ecx, edx
add ecx, 0x3de3cb5c
mov edx, eax
not edx
mov esi, edx
and esi, 0xc21c34a5
lea esi, [esi + esi*2]
sub ecx, esi
xor eax, 0xc21c34a5
add eax, ecx
lea ecx, [eax + edx*2]
lea eax, [eax + edx*2]
add eax, 0x69490c1d
mov edx, eax
not edx
mov esi, eax
or esi, 0x7410a74b
add esi, ecx
add esi, 0x46549df1
xor eax, 0x7410a74b
add eax, esi
add ecx, ecx
add ecx, 0x8ca93be2
sub eax, ecx
or edx, 0x8bef58b4
lea ecx, [edx + edx*2]
sub eax, ecx
lea ecx, [eax - 0x2e0a2af1]
mov edx, dword [esp + 0x38]
mov dword [edx], ecx
mov edx, dword [esp + 0xd4]
mov ecx, dword [esp + 0x84]
cmp edx, 0x10
jae 0x10057776
mov ecx, dword [esp + 0x4c]
jmp 0x10057778
lea eax, [esp + 0x120]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x114], eax
mov dword [esp + 0xb0], 0
mov eax, 0x5356cf2f
movzx ecx, byte [esp + 0x22]
mov byte [esp + 0x1e], cl
mov ecx, 0x4dec1267
jmp 0x10054760
cmp dword [esp + 0xcc], 0
mov eax, 0x111ac031
mov ecx, 0x9727d6f6
cmove eax, ecx
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0xac], ecx
mov ecx, 0x4dec1267
mov edx, dword [esp + 0x108]
mov dword [esp + 0xa8], edx
movzx edx, byte [esp + 0x1d]
mov byte [esp + 0x21], dl
mov dh, byte [esp + 0x1c]
mov byte [esp + 0x20], dh
movzx ebx, byte [esp + 0x1b]
mov byte [esp + 0x1f], bl
mov byte [esp + 9], dl
mov byte [esp + 8], dh
mov byte [esp + 7], bl
mov edx, dword [esp + 0xb4]
mov dword [esp + 0xa4], edx
mov dword [esp + 0x78], edx
jmp 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x3a43743b
mov ecx, 0xe86d766a
mov edx, 0x767ef4bf
cmovl ecx, edx
jmp 0x10054760
mov ecx, dword [esp]
cmp ecx, 0x4de1b49f
mov ecx, 0x2a0631dd
mov edx, 0xe8b3e3c
cmovl ecx, edx
jmp 0x10054760
mov ecx, dword [esp]
cmp ecx, 0xc8801776
mov ecx, 0xf2d6c3
mov edx, 0xc6c422c8
cmove ecx, edx
jmp 0x10054760
mov ecx, dword [esp]
cmp ecx, 0xd2d98a12
mov ecx, 0xf2d6c3
mov edx, 0x13f76ec1
cmove ecx, edx
jmp 0x10054760
mov ecx, dword [ecx]
mov edx, dword [esp + 0x90]
movzx ebx, byte [esp + 0xf]
mov byte [ecx + edx], bl
mov byte [ecx + eax + 0x25532dd0], 0
mov ecx, 0x4dec1267
mov eax, 0xb0583e49
jmp 0x10054760
mov eax, dword [eax]
mov ecx, dword [esp + 0xc8]
movzx eax, byte [eax + ecx]
mov byte [esp + 5], al
movzx eax, byte [esp + 5]
cmp al, 0x3d
mov eax, 0x810957f
mov ecx, 0x9727d6f6
cmove eax, ecx
movzx ecx, byte [esp + 0xc]
mov byte [esp + 9], cl
movzx ecx, byte [esp + 0xb]
mov byte [esp + 8], cl
movzx ecx, byte [esp + 0xa]
mov byte [esp + 7], cl
mov ecx, 0x4dec1267
mov edx, dword [esp + 0x70]
mov dword [esp + 0x78], edx
jmp 0x10054760
mov ecx, dword [ecx]
mov edx, dword [esp + 0x94]
movzx ebx, byte [esp + 0x23]
mov byte [ecx + edx], bl
mov byte [ecx + eax + 0x16c6b15f], 0
mov ecx, 0x4dec1267
mov eax, 0x5edbecb4
jmp 0x10054760
mov ecx, dword [ecx]
mov edx, dword [esp + 0x88]
movzx ebx, byte [esp + 0xd]
mov byte [ecx + edx], bl
mov byte [ecx + eax - 0x14b8128a], 0
mov ecx, 0x4dec1267
mov eax, 0x70c6c3d9
jmp 0x10054760
mov ecx, dword [ecx]
mov edx, dword [esp + 0x8c]
movzx ebx, byte [esp + 0xe]
mov byte [ecx + edx], bl
mov byte [ecx + eax - 0x2e0a2af1], 0
mov ecx, 0x4dec1267
mov eax, 0x4de1b49f
jmp 0x10054760
cmp ecx, 0xe4875709
jne 0x10054760
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x128]
xor ecx, esp
call fcn.100594ba
add esp, 0x12c
pop esi
pop edi
pop ebx
pop ebp
ret