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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x120
mov eax, dword [0x1006a040]
xor eax, esp
mov dword [esp + 0x11c], eax
mov eax, dword [edx + 0x10]
mov dword [esp + 0xac], eax
lea eax, [esp + 0x118]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
lea eax, [esp + 0x115]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
lea eax, [ecx + 0x14]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
mov eax, dword [esp + 0x44]
xorps xmm0, xmm0
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov eax, dword [esp + 0x40]
mov dword [eax], 0xf
mov dword [esp + 0xf0], edx
mov dword [esp + 0xec], edx
lea eax, [edx + 0x14]
mov dword [esp + 0xf4], eax
cmp dword [esp + 0xac], 0
sete byte [esp + 0x26]
mov dword [esp + 0x2c], ecx
lea eax, [ecx + 0x10]
mov dword [esp + 0x8c], eax
mov eax, 0x4bc1d863
mov ecx, 0xb14dd431
mov dword [esp + 0x60], edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x64], edx
jmp 0x10052b40
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x7c]
cmp eax, dword [esp + 0xc8]
mov eax, 0xb7222bc9
mov ecx, 0xd220cc29
cmovb eax, ecx
mov ecx, 0xa05dbb46
nop dword [eax]
cmp ecx, 0xf42afe2f
jle 0x10052bb0
cmp ecx, 0x317f811e
jg 0x10052c20
cmp ecx, 0x160e0443
jle 0x10052cf3
cmp ecx, 0x200aee69
jg 0x1005301b
cmp ecx, 0x1a42399d
jle 0x100535bd
cmp ecx, 0x1bd2ad7b
jg 0x10054356
cmp ecx, 0x1a42399e
je 0x1005466c
cmp ecx, 0x1aa8408e
jne 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x84930294
mov ecx, 0x8b7a40ac
mov edx, 0xe1bd6264
cmovl ecx, edx
jmp 0x10052b40
cmp ecx, 0xba6224c8
jle 0x10052c90
cmp ecx, 0xd967ccb1
jle 0x10052d4a
cmp ecx, 0xebc651af
jg 0x10053066
cmp ecx, 0xdefef32e
jle 0x10053927
cmp ecx, 0xe87a816b
jg 0x10054389
cmp ecx, 0xdefef32f
je 0x10054687
cmp ecx, 0xe1bd6264
jne 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x848be75c
mov ecx, 0xa21ddf7b
mov edx, 0xfe49e5d3
cmove ecx, edx
jmp 0x10052b40
cmp ecx, 0x61ba9724
jle 0x10052da1
cmp ecx, 0x6eb9f7e3
jg 0x100530b1
cmp ecx, 0x667a9aba
jle 0x10053966
cmp ecx, 0x68e3d6b4
jg 0x100543bc
cmp ecx, 0x667a9abb
je 0x100546a2
cmp ecx, 0x6823094a
jne 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x6ab97ff4
mov ecx, 0xa21ddf7b
mov edx, 0x68e3d6b5
cmove ecx, edx
jmp 0x10052b40
cmp ecx, 0xa13e956f
jg 0x10052fd5
cmp ecx, 0x8eddb3e9
jle 0x1005311e
cmp ecx, 0x98452018
jle 0x100539a5
cmp ecx, 0x9f9e9bbf
jg 0x10054413
cmp ecx, 0x98452019
je 0x100546bd
cmp ecx, 0x9f89e95c
jne 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x2de3ad8a
mov ecx, 0xbe9df08e
mov edx, 0xef6a5849
cmovl ecx, edx
jmp 0x10052b40
cmp ecx, 0x7db6be0
jle 0x100531c1
cmp ecx, 0xf85e84e
jle 0x10053b55
cmp ecx, 0x11a1ec3d
jg 0x10054435
cmp ecx, 0xf85e84f
je 0x100546d8
cmp ecx, 0xfa69a45
jne 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x92e3e788
mov ecx, 0xd6ca13ef
mov edx, 0x1aa8408e
cmovl ecx, edx
jmp 0x10052b40
cmp ecx, 0xc91eb5a1
jle 0x1005336d
cmp ecx, 0xcf2c085b
jle 0x10053b94
cmp ecx, 0xd22fb3bc
jg 0x10054468
cmp ecx, 0xcf2c085c
je 0x100546f3
cmp ecx, 0xd20edb1a
jne 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0xaa90c4a
mov ecx, 0x8c224fd7
mov edx, 0xf2337ad9
cmovl ecx, edx
jmp 0x10052b40
cmp ecx, 0x4f202b65
jle 0x100533b8
cmp ecx, 0x53604138
jle 0x10053bd3
cmp ecx, 0x60035cc1
jg 0x1005449b
cmp ecx, 0x53604139
je 0x1005470e
cmp ecx, 0x577a218d
jne 0x10052b40
mov eax, dword [esp + 0xe0]
mov eax, dword [esp + 0x10c]
lea ecx, [eax + eax]
mov edi, ecx
sub edi, eax
lea edx, [edi + 2]
mov ebp, edx
not ebp
mov esi, eax
or esi, 1
mov ebx, esi
not ebx
lea esi, [ebx + esi*2]
lea ebx, [esi + ebx*2]
mov esi, edx
and esi, 0x7ad01308
add esi, edi
add esi, 2
and ebp, 0x852fecf7
add ebp, esi
lea esi, [ebx + ebx]
add esi, 4
xor edx, 0x852fecf7
add edx, ebp
add edi, edi
add edi, 4
xor edi, 0xf5a02610
lea ebp, [edx + edi]
add edi, edx
add edi, 0x852fecf9
and edi, esi
lea edx, [edi + ebp]
add edx, 0x852fecf9
lea edx, [edx + ebx*2]
add edx, 4
mov ebx, edx
not ebx
sub edx, edi
add ebx, edi
mov esi, ebx
and esi, 0x852fecf7
add esi, edx
xor edx, 0x7ad01308
add edx, esi
or ebx, 0x852fecf7
sub ebx, edx
mov edi, eax
mov dword [esp + 0x10], eax
mov edx, eax
and edx, 1
mov esi, ecx
and esi, 2
or esi, edx
xor esi, 0xfffffffe
add esi, eax
xor ecx, 0xfffffffd
add ecx, esi
mov edx, edi
xor edx, 1
add ecx, edx
lea eax, [ebx + ecx]
mov dword [esp + 0x20], eax
add ecx, ebx
add ecx, 0x852fecf9
mov ebx, edi
xor ebx, 0x2fee31bb
mov esi, edi
or esi, 0x2fee31bb
sub ebx, esi
and edi, 0xd011ce44
lea esi, [ebx + edi]
add esi, 0x2fee31bb
add ebx, 0x2fee31bb
mov eax, ebx
xor eax, edi
lea ebp, [eax + eax*2]
sub esi, ebp
mov ebp, ebx
or ebp, edi
add ebp, esi
lea eax, [eax*2]
add eax, ebp
and ebx, edi
not ebx
lea eax, [eax + ebx*2]
lea edi, [eax + eax]
add edi, 4
xor edi, 0xa0239c89
mov eax, dword [esp + 0x20]
add eax, edi
add eax, 0x852fecf8
add edi, 0xffffffff
mov ebp, ecx
xor ebp, edi
mov esi, ebp
add esi, ebp
sub esi, eax
mov eax, ecx
or eax, edi
not eax
add eax, esi
not ebp
add ebp, eax
and edi, ecx
lea ebx, [edi + ebp]
lea ecx, [edi + ebp]
add ecx, 2
mov edi, dword [esp + 0x10]
add edx, edi
mov eax, edi
xor eax, 0xfffffffe
add eax, edx
mov esi, edi
not esi
lea edx, [esi + esi]
or edx, 2
add eax, edx
add eax, 1
and edi, eax
lea edx, [esi + edi*2]
or esi, eax
sub edx, esi
mov esi, edx
not esi
lea edi, [esi + edx*2]
lea ebp, [esi + edi]
add ebp, 2
mov eax, ebp
add eax, ebp
or esi, ebp
add esi, esi
sub eax, esi
or ebp, edx
add eax, edx
lea edx, [edi + ebp]
add edx, 2
sub eax, edx
mov edx, eax
not edx
and edx, ecx
add edx, ebx
add edx, 2
mov esi, ecx
xor esi, eax
sub edx, esi
and eax, ecx
not eax
add eax, edx
imul eax, eax, 0x1ef2744f
lea ecx, [eax + 0xfb27fc]
mov edx, ecx
and edx, 0x6b2a9cfc
add eax, edx
add eax, 0xfb27fc
or ecx, 0x94d56303
sub eax, ecx
imul eax, eax, 0x4a3022af
add eax, 0x255547ca
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0x88]
cmp ecx, eax
mov eax, 0x6ea7d66c
jmp 0x100553d9
cmp ecx, 0xa9155b72
jle 0x10053572
cmp ecx, 0xb14dd430
jle 0x10053c12
cmp ecx, 0xb501ea47
jg 0x100544ce
cmp ecx, 0xb14dd431
je 0x10054729
cmp ecx, 0xb4c35c00
jne 0x10052b40
mov ecx, 0xa05dbb46
jmp 0x10052b40
cmp ecx, 0x22d90a04
jle 0x10053c51
cmp ecx, 0x2b303bde
jg 0x100545ac
cmp ecx, 0x22d90a05
je 0x10054736
cmp ecx, 0x24e29c10
jne 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x2f9996ef
mov ecx, 0xa13e9570
mov edx, 0x9f89e95c
cmovl ecx, edx
jmp 0x10052b40
cmp ecx, 0xef6a5848
jle 0x10053ca5
cmp ecx, 0xf2337ad8
jg 0x100545df
cmp ecx, 0xef6a5849
je 0x10054751
cmp ecx, 0xf21b8279
jne 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x42b388ce
mov ecx, 0xa21ddf7b
mov edx, 0x19e2d3c3
cmove ecx, edx
jmp 0x10052b40
cmp ecx, 0x792c141d
jle 0x10053cdd
cmp ecx, 0x7b653b88
jg 0x10054612
cmp ecx, 0x792c141e
je 0x1005476c
cmp ecx, 0x7946f5ba
jne 0x10052b40
mov eax, 0x1015b65c
mov ecx, dword [0x1015b66c]
mov dword [esp + 0x48], ecx
cmp dword [0x1015b670], 0x10
jb 0x100530fe
mov eax, dword [0x1015b65c]
mov dword [esp + 0x4c], eax
cmp dword [esp + 0x48], 0
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x5c], eax
mov eax, 0xdc68366e
mov ecx, 0xa06ab1ef
jmp 0x100553de
cmp ecx, 0x8c224fd6
jg 0x10053d1c
cmp ecx, 0x83a92db8
jg 0x10054645
cmp ecx, 0x8179f8cd
je 0x1005479e
cmp ecx, 0x833941f9
jne 0x10052b40
cmp dword [esp + 0xc0], 0
mov eax, 0x2de3ad8a
mov ecx, 0x707fd044
cmove eax, ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0xa4], ecx
mov ecx, 0xa05dbb46
mov edx, dword [esp + 0xfc]
mov dword [esp + 0xa0], edx
movzx edx, byte [esp + 0x19]
mov byte [esp + 0x1d], dl
mov dh, byte [esp + 0x18]
mov byte [esp + 0x1c], dh
movzx ebx, byte [esp + 0x17]
mov byte [esp + 0x1b], bl
mov byte [esp + 9], dl
mov byte [esp + 8], dh
mov byte [esp + 7], bl
mov edx, dword [esp + 0x98]
mov dword [esp + 0x9c], edx
mov dword [esp + 0x68], edx
jmp 0x10052b40
cmp ecx, 0xce3b6a
jg 0x1005426a
cmp ecx, 0xf42afe30
je 0x10054c58
cmp ecx, 0xf951ab9a
je 0x10054d3b
cmp ecx, 0xfe49e5d3
jne 0x10052b40
mov edx, dword [esp + 0x58]
mov ecx, edx
and ecx, 1
mov eax, edx
neg eax
lea esi, [ecx - 1]
mov edi, esi
and edi, eax
add edi, ecx
add edi, edx
add edx, 0xffffffff
and edx, esi
add edx, edi
xor ecx, 1
add ecx, edx
lea edx, [ecx + ecx]
add edx, 1
sub edx, ecx
lea ecx, [edx - 0x80efe3a]
mov esi, ecx
not esi
and esi, 1
lea edx, [esi + edx*2]
add edx, 0xefe2038c
or ecx, 1
sub edx, ecx
lea ecx, [edx - 2]
mov esi, ecx
not esi
mov edi, esi
and edi, 0x80efe3a
add edx, edi
add edx, 0xfffffffe
xor ecx, 0xf7f101c5
add ecx, edx
or esi, 0x80efe3a
sub ecx, esi
or eax, 0xfffffffe
lea edx, [ecx + ecx*2]
add edx, 0x182cfaae
neg edx
add edx, ecx
add edx, 0x80efe3a
add ecx, edx
add ecx, 0x80efe3a
mov edx, ecx
not edx
and edx, eax
add edx, ecx
add edx, eax
not eax
or eax, ecx
add eax, edx
mov ecx, eax
not ecx
lea edx, [eax + ecx*2]
lea eax, [eax + ecx*2]
add eax, 0x5e9304b
or eax, 0xf5e9304a
add eax, edx
mov ecx, 0xa16cfb4
sub ecx, edx
or ecx, 0xf5e9304a
lea esi, [ecx + eax]
add esi, 0xa16cfb8
mov eax, dword [esp + 0x58]
movzx ecx, byte [esp + 4]
mov byte [esp + eax + 0x118], cl
imul eax, dword [esp + 0xbc], 0xd8b89a1
lea ecx, [eax + 0xd8b89a1]
mov edx, ecx
xor edx, 0xf77db12e
add edx, eax
xor ecx, 0x8824ed1
add ecx, edx
mov eax, 0xaf6c52f
sub eax, ecx
mov edx, eax
and edx, 0x965c6c7
add edx, ecx
or eax, 0xf69a3938
sub edx, eax
imul eax, edx, 0x5669659f
lea ecx, [eax - 1]
mov edx, ecx
xor edx, 0x5f41f898
sub edx, eax
neg eax
or ecx, 0xa0be0767
add ecx, edx
or eax, 0x5f41f898
add eax, ecx
add eax, 0x5f41f89c
mov dword [esp + 0xfc], eax
mov dword [esp + 0x98], esi
cmp esi, 4
mov eax, 0xfaf7a36
mov ecx, 0x2f9996ef
cmove eax, ecx
movzx ecx, byte [esp + 0xc]
mov byte [esp + 0x19], cl
movzx ecx, byte [esp + 0xb]
mov byte [esp + 0x18], cl
mov ecx, 0xa05dbb46
movzx edx, byte [esp + 0xa]
mov byte [esp + 0x17], dl
jmp 0x10052b40
cmp ecx, 0xbe9df08d
jg 0x100542a9
cmp ecx, 0xba6224c9
je 0x10054d56
cmp ecx, 0xbb8b72ff
je 0x10054d8f
cmp ecx, 0xbd8df401
jne 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x707fd044
mov ecx, 0xa21ddf7b
mov edx, 0xc91eb5a2
cmove ecx, edx
jmp 0x10052b40
cmp ecx, 0x421ff564
jg 0x100542e0
cmp ecx, 0x317f811f
je 0x10054daa
cmp ecx, 0x37f6f64a
je 0x10054f6e
cmp ecx, 0x3eed05ff
jne 0x10052b40
mov eax, dword [esp + 0x78]
lea ecx, [eax - 0x37638cba]
mov edx, 0x37638cb9
sub edx, eax
and edx, 0x37638cbb
add edx, eax
add edx, 0xc89c7346
mov esi, eax
or ecx, 0xc89c7344
add ecx, edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], eax
mov ebx, eax
mov edx, eax
not edx
mov edi, edx
and edi, 0x24e3ed1d
mov ebp, edx
and ebp, 0x5b1c12e2
add ebp, ebp
sub edi, ebp
mov ebp, eax
add edi, edx
and ebx, 0x24e3ed1d
add ebx, edi
or esi, 0x24e3ed1d
sub ebx, esi
add ebx, 0xdb1c12e2
and ebp, 0xdb1c12e2
mov edi, ebp
xor edi, 0xdb1c12e2
add edi, ebp
lea ebp, [edi + esi]
add esi, edi
add esi, 1
mov eax, ebx
xor eax, esi
mov ecx, ebx
sub ecx, eax
sub ecx, eax
mov edi, ebx
or edi, esi
add edi, ecx
add edi, eax
add edi, ebp
and ebx, esi
mov ecx, dword [esp + 0x20]
mov ebp, ecx
not ebx
lea eax, [edi + ebx*2]
add eax, 3
mov ebx, eax
or ebx, 0x24e3ed1c
or eax, 0xdb1c12e3
sub ebx, eax
lea eax, [ecx + ecx]
not eax
and eax, 0xfffffffc
lea esi, [ecx + eax]
add esi, 2
and esi, ecx
mov eax, ecx
add ebx, dword [esp + 0x10]
or ebp, 0xfffffffe
or eax, 1
add ebp, eax
add eax, edx
or edx, 1
lea ecx, [edx + ebp]
add ecx, 2
sub eax, edx
mov edx, eax
not edx
and edx, ecx
mov edi, ecx
or edi, eax
add edi, edx
and eax, ecx
not ecx
add ecx, edi
lea edx, [eax + ecx]
add eax, ecx
add eax, 1
not eax
lea eax, [edx + eax*2 + 1]
lea ecx, [ebx + eax]
mov edx, esi
not edx
lea edx, [esi + edx*2]
mov esi, edx
not esi
add eax, ebx
add eax, 0xa494d7a5
add ecx, esi
add ecx, 0xa494d7a5
mov edi, eax
xor edi, esi
sub ecx, edi
or esi, eax
add esi, ecx
add esi, edx
or eax, edx
sub esi, eax
imul eax, esi, 0xe886241f
imul ecx, esi, 0xfa69296
add ecx, eax
imul eax, ecx, 0x9561079d
lea ecx, [eax + 0x6c8b79e6]
lea edx, [eax + eax]
add edx, 0xd916f3cc
xor ecx, 0x15f4e14
lea eax, [ecx + eax*2]
add eax, 0xd916f3cc
or edx, 0x2be9c28
sub eax, edx
lea ecx, [eax + 0x2be9c29]
mov edx, dword [esp + 0x38]
mov dword [edx], ecx
mov edx, dword [esp + 0xc4]
mov ecx, dword [esp + 0x74]
cmp edx, 0x10
jae 0x10055b94
mov ecx, dword [esp + 0x44]
jmp 0x10055b96
cmp ecx, 0xa3c22e76
jg 0x10054317
cmp ecx, 0xa13e9570
je 0x10054f89
cmp ecx, 0xa21ddf7b
je 0x10054fa4
cmp ecx, 0xa35d0cdb
jne 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x92e3e788
mov ecx, 0xa21ddf7b
mov edx, 0x4f202b66
cmove ecx, edx
jmp 0x10052b40
cmp ecx, 0x160e0444
je 0x10054fae
cmp ecx, 0x198186b3
je 0x10054fc9
cmp ecx, 0x19e2d3c3
jne 0x10052b40
mov eax, dword [esp + 0x30]
movzx ecx, byte [eax]
shl cl, 2
movzx eax, byte [esp + 0x119]
mov edx, eax
shr dl, 4
mov ah, dl
xor ah, 0xfc
mov ch, ah
and ch, dl
add ch, ah
mov ah, al
shr ah, 3
and ah, 0x18
add ah, ch
sub ah, dl
add ah, 4
mov dl, ah
or dl, 0x34
and ah, 0x34
add ah, dl
movzx edx, ah
imul edx, edx, 0xffffffa5
mov ah, dl
add ah, 0x30
mov ch, ah
not ch
mov bl, ah
xor bl, 0xaa
add bl, dl
and ch, 0x55
add ch, bl
and ah, 0xaa
add ah, ch
movzx edx, ah
lea edx, [edx + edx*8]
lea edx, [edx + edx*4]
mov ah, dl
add ah, 0xdb
mov ch, ah
xor ch, 0x1d
add ch, dl
mov dl, ah
or dl, 0xe2
add dl, ch
or ah, 0x1d
sub dl, ah
add dl, 0x17
mov ah, dl
and ah, cl
mov dh, ah
sub dh, dl
mov ch, dl
or ch, cl
add dh, ch
mov ebx, edx
not bl
and bl, cl
add bl, dl
xor dl, cl
not cl
add cl, dh
add cl, ah
add cl, 1
sub dl, bl
add dl, ch
or dl, cl
mov ecx, edx
xor cl, 0x1c
not dl
add dl, dl
or dl, 0xc6
sub cl, dl
add cl, 0xc5
mov edx, ecx
and dl, 0x1d
add dl, cl
not cl
add dl, cl
or cl, 0x1d
sub dl, cl
add dl, 0x1d
mov byte [esp + 0x1e], dl
mov ecx, dword [esp + 0x3c]
movzx edx, byte [esp + 0x1e]
mov byte [ecx], dl
shl al, 4
movzx ecx, byte [esp + 0x11a]
shr cl, 2
mov edx, ecx
and dl, 0xf
mov ah, cl
xor ah, 0x30
add ah, dl
mov ch, cl
not ch
add ch, ah
mov edx, ecx
and dl, 0x30
add dl, ch
add dl, 1
and dl, cl
add dl, 0x37
mov ecx, edx
and cl, 0x36
add cl, dl
or dl, 0xc9
sub cl, dl
movzx ecx, cl
lea edx, [ecx + ecx*4]
lea ecx, [ecx + edx*2]
add cl, 0x46
mov edx, ecx
not dl
mov ah, dl
and ah, 0x38
add ah, cl
or dl, 0xc7
sub ah, dl
movzx ecx, ah
imul ecx, ecx, 0xffffffa3
mov dl, 0x4a
sub dl, cl
add cl, 0xb5
mov ah, al
and ah, 0x60
xor ah, 0x64
mov ch, al
and ch, 0x90
or ch, ah
sub ah, ch
add ch, ch
add ch, ah
mov ah, al
or ah, 0x9b
add ah, ch
mov ch, 0xfe
sub ch, ah
and ch, 0x9b
add ch, ah
add ah, 1
mov dh, ah
and dh, 0x64
or dh, 1
sub dh, ch
xor ah, 0x9b
add ah, dh
add ah, 0x99
mov ch, ah
add ch, ah
not ah
add ch, ah
add ah, ah
add ah, ch
mov ch, ah
add ch, 2
mov dh, cl
xor dh, ch
mov ebx, ecx
or bl, ch
or dl, ch
add ch, ch
sub dh, ch
add bl, dh
add bl, ah
add dl, bl
add dl, 3
and dl, cl
mov cl, 1
sub cl, dl
add dl, 0xfe
mov ah, dl
and ah, 0xfd
add ah, dl
and cl, 2
add cl, ah
mov ah, dl
xor ah, 2
add ah, cl
add dl, dl
xor dl, 0xfa
add dl, ah
add dl, al
movzx eax, dl
imul ecx, eax, 0xffffffd7
add cl, 0x5c
mov edx, ecx
not dl
mov eax, edx
and al, 0x5f
add al, cl
or dl, 0xa0
sub al, dl
add al, 0x40
movzx ecx, al
lea ecx, [ecx + ecx*2]
not al
add al, al
add al, cl
add al, 1
mov ecx, eax
not cl
mov edx, eax
add dl, al
and cl, 0x5f
add cl, dl
or al, 0x5f
sub cl, al
movzx eax, cl
imul eax, eax, 0xffffffe7
add al, 0xa1
mov ecx, eax
add cl, al
mov edx, eax
or dl, 0xe7
sub dl, cl
or al, 0x18
add al, dl
mov cl, 0xe5
sub cl, al
mov byte [esp + 0x116], cl
mov eax, dword [esp + 0x50]
mov ecx, eax
xor ecx, 0x819ebc73
add ecx, eax
xor eax, 0x7e61438c
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x819ebc74
mov ecx, eax
not ecx
lea esi, [edx + edx]
add esi, 0x33d78e8
xor esi, 0x33d78e4
add edx, esi
add edx, 0x819ebc74
mov esi, eax
or esi, 0x7e61438d
add esi, edx
xor eax, 0x7e61438d
add eax, esi
or ecx, 0x819ebc72
lea edx, [eax + ecx]
add eax, ecx
add eax, 0x7e614390
mov ecx, 0x819ebc6f
sub ecx, edx
and ecx, 0xa27591d1
add ecx, edx
add ecx, 0x7e614390
or eax, 0x5d8a6e2e
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x5d8a6e2f
not eax
lea eax, [eax + edx*4]
add eax, 0x7629b8bc
lea ecx, [edx + edx]
add ecx, 0xbb14dc5e
sub eax, ecx
lea ecx, [eax + 1]
mov edx, ecx
not edx
and ecx, 0xa27591d1
add eax, ecx
add eax, 1
and edx, 0xa27591d1
add edx, eax
imul eax, edx, 0x7281b9f7
lea ecx, [eax + 0xacd2533]
lea edx, [eax + eax]
add edx, 0x159a4a66
or edx, 0xe35099f0
add edx, eax
xor ecx, 0x8e57b307
add ecx, edx
sub ecx, eax
imul eax, ecx, 0xb756d7c7
mov ecx, 0xb43961c8
sub ecx, eax
or ecx, 0xce0fa2dd
add ecx, eax
lea edx, [eax + 0xbc69e37]
and edx, 0xce0fa2dd
add eax, edx
add eax, 0xbc69e37
sub eax, ecx
add eax, 0x2629beeb
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x50]
cmp eax, 2
mov eax, 0x6a49e00
mov ecx, 0x3bcc542b
cmovge eax, ecx
mov ecx, 0xa05dbb46
jmp 0x10052b40
cmp ecx, 0xd967ccb2
je 0x10054fe4
cmp ecx, 0xd9755ce1
je 0x10054fff
cmp ecx, 0xdd67a49e
jne 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0xb7222bc9
mov ecx, 0xa21ddf7b
mov edx, 0x458c6656
cmove ecx, edx
jmp 0x10052b40
cmp ecx, 0x61ba9725
je 0x10055216
cmp ecx, 0x64b6ca81
je 0x10055257
cmp ecx, 0x65ac8d44
jne 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x45d402e6
mov ecx, 0x7ce44d28
mov edx, 0xf21b8279
cmovl ecx, edx
jmp 0x10052b40
cmp ecx, 0x8eddb3ea
je 0x10055272
cmp ecx, 0x90f09e46
je 0x1005528d
cmp ecx, 0x9275de78
jne 0x10052b40
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0x54]
mov byte [eax], cl
mov edx, dword [esp + 0xd8]
mov eax, edx
not eax
mov ecx, eax
or ecx, 1
mov edi, edx
and edi, 0xfffffffe
mov ebx, edi
sub ebx, ecx
sub ebx, ecx
add ebx, ecx
sub ebx, edi
mov esi, ebx
neg esi
mov ecx, esi
and ecx, 0x4236e9e0
add ecx, ecx
lea edi, [ecx + ebx*2]
mov ecx, esi
or ecx, 0x3dc9161f
sub edi, ecx
or esi, 0xc236e9e1
lea ecx, [edi + esi]
add esi, edi
add esi, 0x525b5fb7
lea edi, [edx + ecx*2]
add edi, 0xa4b6bf6e
or esi, edx
add esi, esi
mov ebx, esi
sub ebx, edi
sub ebx, esi
mov esi, 0x5b3886db
sub esi, ecx
sub esi, ebx
lea edi, [ebx + ecx]
add edi, 0xa4c77924
lea ecx, [edx + eax*2]
lea edx, [edx + eax*2]
add edx, 1
and edi, edx
add edi, esi
lea edi, [ecx + edi*2]
add edi, 1
xor esi, edx
sub edi, esi
sub edi, esi
add edi, esi
not ecx
add ecx, edi
mov edx, ecx
or edx, 0x7ba2e5f5
add edx, ecx
mov esi, ecx
or esi, 0x845d1a0a
lea edi, [edx + esi]
add esi, edx
add esi, 0x7ba2e5f8
mov edx, ecx
not edx
add edx, edi
add edx, 0x7ba2e5f8
lea eax, [eax + eax*2]
neg eax
sub ecx, esi
mov esi, eax
and esi, 1
or eax, 0xfffffffe
and ecx, eax
xor eax, edx
add eax, esi
xor esi, 1
and esi, edx
add esi, edx
add ecx, esi
sub ecx, eax
add ecx, 2
imul eax, ecx, 0x6dbfb431
mov edx, eax
and edx, 0x27e7914
add edx, edx
imul ecx, ecx, 0xdb7f6862
sub ecx, edx
not eax
mov edx, eax
and edx, 0xfd8186eb
add edx, ecx
or eax, 0xfd8186eb
sub edx, eax
lea eax, [edx + 0x4fcf229]
mov ecx, eax
not ecx
and ecx, 0x9184fa6e
add ecx, edx
add ecx, 0x4fcf229
or eax, 0x6e7b0591
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x9184fa6f
lea ecx, [edx + edx]
add ecx, 0x2309f4de
xor ecx, 0x4fcf228
lea ecx, [ecx + edx*2]
add ecx, 0x2309f4de
mov edx, eax
not edx
xor eax, 0xfd8186eb
add eax, ecx
add edx, edx
or edx, 0x4fcf228
add edx, eax
imul eax, edx, 0xdcd724d1
add eax, 0xfa5d0b2c
mov dword [esp + 0x94], eax
cmp eax, dword [esp + 0x50]
mov eax, 0x73dd82fa
mov ecx, 0x42b388ce
jmp 0x100553de
cmp ecx, 0x7db6be1
je 0x100552a8
cmp ecx, 0xb21bc03
je 0x10055385
cmp ecx, 0xd557b31
jne 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0xa42fff3
mov ecx, 0x98452019
mov edx, 0x8eddb3ea
cmovl ecx, edx
jmp 0x10052b40
cmp ecx, 0xc91eb5a2
je 0x100553a0
cmp ecx, 0xc9841cee
je 0x100553eb
cmp ecx, 0xcdc66d59
jne 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0xfb430401
mov ecx, 0xb13d8e97
mov edx, 0x6613d4d
cmovl ecx, edx
jmp 0x10052b40
cmp ecx, 0x4f202b66
je 0x10055435
cmp ecx, 0x507456d4
je 0x10055448
cmp ecx, 0x51915b42
jne 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0xfaf7a36
mov ecx, 0x22d90a05
mov edx, 0xd20edb1a
cmovl ecx, edx
jmp 0x10052b40
cmp ecx, 0xa9155b73
je 0x1005545f
cmp ecx, 0xad1d93af
je 0x10055495
cmp ecx, 0xb13d8e97
jne 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x6a49e00
mov ecx, 0xf951ab9a
mov edx, 0xce3b6b
cmovl ecx, edx
jmp 0x10052b40
cmp ecx, 0x200aee6a
je 0x100554ed
cmp ecx, 0x201fbcaa
je 0x10055509
cmp ecx, 0x20270a2d
jne 0x10052b40
mov eax, dword [esp + 0x88]
movzx eax, byte [esp + eax + 0x115]
mov byte [esp + 0x1a], al
mov eax, 0x14d05512
mov ecx, dword [esp + 0x88]
mov dword [esp + 0xa8], ecx
mov ecx, 0xa05dbb46
jmp 0x10052b40
cmp ecx, 0xebc651b0
je 0x10055524
cmp ecx, 0xeca8fddb
je 0x1005553f
cmp ecx, 0xed6ae658
jne 0x10052b40
cmp byte [esp + 0x26], 0
mov eax, 0x5ef604b6
mov ecx, 0x6a49e00
jmp 0x1005524a
cmp ecx, 0x6eb9f7e4
je 0x1005555a
cmp ecx, 0x76cd7cd4
je 0x10055575
cmp ecx, 0x7864b6c7
jne 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0xaf3ee9ee
mov ecx, 0xa21ddf7b
mov edx, 0xd22fb3bd
cmove ecx, edx
jmp 0x10052b40
cmp ecx, 0x8c224fd7
je 0x10055590
cmp ecx, 0x8cd576f4
je 0x100555ab
cmp ecx, 0x8e863844
jne 0x10052b40
mov eax, dword [esp + 0x30]
movsx eax, byte [eax]
push dword [esp + 0x48]
push eax
push dword [esp + 0x54]
call fcn.10058da0
add esp, 0xc
mov ecx, dword [esp + 0x5c]
mov edx, ecx
not edx
mov ebp, ecx
lea esi, [edx + edx*2]
lea ebx, [esi + ecx*2]
add ebx, 2
xor ecx, 0xffd560db
add ecx, edx
xor ebp, 0x2a9f24
lea edx, [ecx + ebp]
lea esi, [ecx + ebp]
add esi, 2
mov dword [esp + 0x28], eax
mov ecx, eax
not ecx
add edx, edx
add edx, 4
mov edi, edx
sub edi, esi
sub edi, edx
mov esi, edi
or esi, ecx
add esi, esi
sub esi, edi
sub esi, edi
add esi, edi
or edi, eax
lea edx, [esi + edi]
add esi, edi
add esi, 1
mov eax, esi
not eax
mov ebp, esi
and ebp, 0x7ba3e039
mov edi, eax
and edi, 0x845c1fc6
or edi, ebp
add edi, eax
xor esi, 0x845c1fc6
add esi, edi
lea eax, [edx + edx]
add eax, 2
xor eax, 0xf747c072
lea edx, [esi + eax]
add eax, esi
add eax, 0x7ba3e03b
mov esi, eax
and esi, 0x7ba3e039
add edx, esi
add edx, 0x7ba3e03b
mov edi, eax
xor edi, 0x845c1fc6
add edi, edx
xor eax, 0x7ba3e039
lea edx, [edi + eax]
add eax, edi
add eax, 0x845c1fc9
mov edi, esi
not edi
add edx, edi
add edx, 0x845c1fc9
mov edi, edx
and edi, 0x1ceef00a
lea edi, [edx + edi*2]
xor edx, 0x9ceef00a
add edx, edi
sub esi, eax
add esi, edx
mov ebp, dword [esp + 0x28]
lea eax, [esi + ebp]
add eax, 0xc6221fed
add esi, ebp
lea edx, [esi + esi]
add edx, 0x8c443fda
mov edi, edx
not edi
and edi, 0x39dde014
lea esi, [edi + esi*2]
add esi, 0x8c443fda
xor edx, 0xc6221fea
add edx, esi
xor eax, 0x9ceef00a
lea esi, [edx + eax]
add eax, edx
add eax, 2
mov edx, ebx
and edx, ecx
add edx, ecx
mov ecx, ebx
not ecx
and ecx, ebp
add ecx, edx
and ebx, ebp
lea edx, [ebx + ecx]
lea edi, [ebx + ecx]
add edi, 1
mov ecx, 0x7ffffffd
sub ecx, esi
and ecx, 0x4fe3a572
add ecx, esi
add ecx, 2
or eax, 0xb01c5a8d
lea esi, [ecx + eax]
add eax, ecx
add eax, 0xb01c5a8f
mov ecx, 0xfffffffe
sub ecx, edx
and ecx, eax
lea edx, [ecx + esi]
add edx, 0xb01c5a8f
mov ecx, 0x4fe3a570
sub ecx, esi
and ecx, edi
add ecx, edx
add ecx, edi
xor eax, edi
sub ecx, eax
lea eax, [ecx + ecx]
xor eax, 0x6038b51a
add eax, ecx
mov edx, ecx
or edx, 0x4fe3a572
add edx, eax
mov eax, ecx
not eax
xor ecx, 0x4fe3a572
add ecx, edx
or eax, 0xb01c5a8d
add eax, ecx
imul eax, eax, 0x6f15885f
lea ecx, [eax + 0x520f16ca]
mov edx, ecx
and edx, 0x893bc5d4
add eax, edx
add eax, 0x520f16ca
or ecx, 0x76c43a2b
sub eax, ecx
imul eax, eax, 0xf006d39f
lea ecx, [eax + 0x49adf709]
lea edx, [eax + eax]
add edx, 0x22790dc0
or edx, 0x3b3637c0
add edx, eax
add edx, 0x49adf709
add eax, 0x113c86e0
xor eax, 0xe264e41f
add eax, edx
sub eax, ecx
lea ecx, [eax + 1]
or ecx, 0x1b970ad5
add ecx, eax
mov edx, 0xfffffffe
sub edx, eax
or edx, 0x1b970ad5
lea eax, [ecx + edx]
add edx, ecx
add edx, 2
mov ecx, edx
and ecx, 0xe0
add ecx, eax
add ecx, 2
not edx
add ecx, edx
or edx, 0xe0
sub ecx, edx
add cl, 0x20
cmp ebp, 1
sbb edx, edx
or dl, cl
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x30]
mov byte [eax], dl
mov eax, dword [esp + 0x6c]
movsx eax, byte [eax]
push dword [esp + 0x48]
push eax
push dword [esp + 0x54]
call fcn.10058da0
add esp, 0xc
mov ecx, dword [esp + 0x5c]
mov edx, ecx
and edx, eax
mov ebx, edx
xor ebx, 0xfdbcedc1
add ebx, edx
lea ebp, [edx + edx]
add ebp, 1
sub ebp, edx
xor edx, 0x243123e
add edx, ebx
mov esi, 0x643123d
sub esi, edx
mov edi, esi
and edi, 0x243123f
add edi, edx
or esi, 0xfdbcedc0
sub esi, edi
lea edx, [esi + 0x243123f]
mov edi, eax
neg edi
mov ebx, edx
xor ebx, edi
add esi, ebx
add esi, 0x243123f
mov ebx, eax
sub ebx, esi
mov esi, edx
or esi, edi
add esi, ebx
and edi, edx
lea edx, [esi + esi]
add edx, 2
sub edi, edx
lea edx, [edi + esi]
add edx, 1
lea esi, [edx + ecx]
lea ecx, [ecx + edx + 1]
not ecx
lea ecx, [ecx + ecx*2]
lea edx, [ecx + esi*2]
add edx, 2
mov edi, 0xfffffffc
sub edi, edx
lea ecx, [ecx + esi*2]
add ecx, 5
mov edx, ecx
and edx, ebp
and edi, ebp
add edi, ebp
sub edx, edi
xor ebp, ecx
mov esi, 0x9bb5bd8
sub esi, edx
sub esi, ebp
lea ecx, [edx + ebp]
add ecx, 0xf644a427
mov edx, ecx
lea edi, [ecx + ecx*2]
not ecx
and edx, 0xfffffffe
lea edx, [edx + edx*2]
sub edi, edx
or esi, 1
sub edi, esi
add ecx, ecx
or ecx, 0xfffffffc
lea edx, [edi + ecx]
add ecx, edi
add ecx, 2
mov esi, 0xffffffd
sub esi, edx
and esi, 0x9bb5bd9
lea edx, [esi + edx*2]
add edx, 4
or ecx, 0x9bb5bd9
sub edx, ecx
lea ecx, [edx + 0x5f6ee158]
mov esi, ecx
and esi, 0xefc313d2
add edx, esi
add edx, 0x5f6ee158
or ecx, 0x103cec2d
sub edx, ecx
mov esi, 0x7e
sub esi, edx
mov ecx, esi
and ecx, 0xd2
add ecx, edx
or esi, 0x2d
sub ecx, esi
add cl, 0xdb
cmp eax, 1
sbb edx, edx
or dl, cl
mov eax, dword [esp + 0x6c]
mov byte [eax], dl
mov ebp, edx
mov eax, dword [esp + 0x70]
movsx eax, byte [eax]
push dword [esp + 0x48]
push eax
push dword [esp + 0x54]
call fcn.10058da0
add esp, 0xc
mov ecx, eax
sub ecx, dword [esp + 0x5c]
imul ecx, ecx, 0xee99b64f
mov edx, ecx
not edx
and edx, 0x17e8c6fe
lea edx, [ecx + edx*2]
mov esi, ecx
xor esi, 0xe8173901
add esi, edx
add ecx, esi
add ecx, 0xd02e7204
mov edx, ecx
and edx, 0x2b2fb2a5
add edx, edx
lea esi, [ecx + ecx*2]
sub esi, edx
not ecx
lea edx, [esi + ecx*2]
add ecx, ecx
or ecx, 0xa9a09ab4
sub edx, ecx
lea ecx, [edx + 0x54d04d5a]
mov esi, ecx
or esi, 0xe8173901
add edx, esi
add edx, 0x54d04d5a
not ecx
or ecx, 0xe8173901
add ecx, edx
imul edx, ecx, 0x1995a0af
lea ecx, [edx + 0x49cc071b]
mov esi, ecx
and esi, 0x4f
add esi, edx
add esi, 0x49cc071b
mov edi, 0xca958ee4
sub edi, edx
and edi, 0xb0
add edi, esi
mov edx, ecx
xor edx, 0xb0
add edx, edi
xor ecx, 0x4f
add ecx, ecx
add ecx, edx
add cl, 0xb2
cmp eax, 1
sbb ebx, ebx
or bl, cl
mov eax, dword [esp + 0x70]
mov byte [eax], bl
mov eax, dword [esp + 0xb4]
movsx eax, byte [eax]
push dword [esp + 0x48]
push eax
push dword [esp + 0x54]
call fcn.10058da0
add esp, 0xc
mov ecx, eax
and ecx, 0xfc8be2b8
mov edx, eax
or edx, 0xfc8be2b8
add edx, ecx
mov esi, edx
not esi
mov ecx, esi
and ecx, 0xfc8be2b7
add ecx, edx
or esi, 0x3741d48
sub ecx, esi
lea edx, [ecx + 0x6e83a90]
mov esi, edx
not esi
and esi, 0xe1f5f605
or edx, 0xe1f5f605
add edx, dword [esp + 0x5c]
lea ecx, [esi + ecx*2]
add ecx, 0xdd07520
sub ecx, edx
imul ecx, ecx, 0xe79a983d
mov edx, ecx
not edx
mov esi, edx
and esi, 0xb637f8e3
add esi, ecx
xor ecx, 0x49c8071c
add ecx, esi
or edx, 0xb637f8e3
sub ecx, edx
imul ecx, ecx, 0x1b6cbf15
mov dword [esp + 0x90], ecx
test eax, eax
mov eax, 0x84930294
mov ecx, 0xa42fff3
cmove eax, ecx
mov ecx, 0xa05dbb46
mov dword [esp + 0x60], ebx
mov edx, ebx
mov byte [esp + 6], bl
mov edx, dword [esp + 0x28]
mov byte [esp + 0x16], dl
mov edx, ebp
mov dword [esp + 0x64], ebp
mov byte [esp + 5], dl
jmp 0x10052b40
cmp ecx, 0xce3b6b
je 0x10055607
cmp ecx, 0x5260565
je 0x10055622
cmp ecx, 0x6613d4d
jne 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0xf9ed64d5
mov ecx, 0x9f9e9bc0
mov edx, 0x2b303bdf
cmovl ecx, edx
jmp 0x10052b40
cmp ecx, 0xbe9df08e
je 0x1005563d
cmp ecx, 0xc07a234e
je 0x10055658
cmp ecx, 0xc5995e5d
jne 0x10052b40
movsx edx, byte [esp + 0xd]
mov ecx, dword [esp + 0x2c]
call fcn.10055cb0
jmp 0x10055baa
cmp ecx, 0x421ff565
je 0x10055673
cmp ecx, 0x445f2c3d
je 0x10055955
cmp ecx, 0x458c6656
jne 0x10052b40
movsx edx, byte [esp + 0xe]
mov ecx, dword [esp + 0x2c]
call fcn.10055cb0
jmp 0x10055c49
cmp ecx, 0xa3c22e77
je 0x10055970
cmp ecx, 0xa7cd0524
je 0x1005598b
cmp ecx, 0xa8fad382
jne 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x78c7499a
mov ecx, 0x64b6ca81
mov edx, 0x60035cc2
cmovl ecx, edx
jmp 0x10052b40
cmp ecx, 0x1bd2ad7c
je 0x100559a6
cmp ecx, 0x1dd6f478
jne 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x3bcc542b
mov ecx, 0x76cd7cd4
mov edx, 0xf85e84f
cmovl ecx, edx
jmp 0x10052b40
cmp ecx, 0xe87a816c
je 0x100559c1
cmp ecx, 0xe9d73b7b
jne 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0xe3af9f9f
mov ecx, 0xa21ddf7b
mov edx, 0x3eed05ff
cmove ecx, edx
jmp 0x10052b40
cmp ecx, 0x68e3d6b5
je 0x10052b01
cmp ecx, 0x6a9b5dba
jne 0x10052b40
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x80]
cmp eax, dword [esp + 0xcc]
mov eax, 0x92e3e788
mov ecx, 0xaf3ee9ee
jmp 0x10052b35
cmp ecx, 0x9f9e9bc0
je 0x100559dc
cmp ecx, 0xa05dbb46
jne 0x10052b40
mov ecx, 0xb14dd431
jmp 0x10052b40
cmp ecx, 0x11a1ec3e
je 0x100559f7
cmp ecx, 0x14e1899a
jne 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x2f9996ef
mov ecx, 0xa21ddf7b
mov edx, 0x7946f5ba
cmove ecx, edx
jmp 0x10052b40
cmp ecx, 0xd22fb3bd
je 0x10055a12
cmp ecx, 0xd6ca13ef
jne 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0xa06ab1ef
mov ecx, 0x1bd2ad7c
mov edx, 0xa35d0cdb
cmovl ecx, edx
jmp 0x10052b40
cmp ecx, 0x60035cc2
je 0x10055b0b
cmp ecx, 0x616d7fe2
jne 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0xb67f8616
mov ecx, 0xe87a816c
mov edx, 0x7864b6c7
cmovl ecx, edx
jmp 0x10052b40
cmp ecx, 0xb501ea48
je 0x10055b26
cmp ecx, 0xb785e9b5
jne 0x10052b40
mov eax, dword [esp + 0xec]
mov dword [esp + 0xf8], eax
lea eax, [esp + 0x119]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x11a]
mov dword [esp + 0x70], eax
lea eax, [esp + 0x116]
mov dword [esp + 0xb0], eax
lea eax, [esp + 0x11b]
mov dword [esp + 0xb4], eax
lea eax, [esp + 0x117]
mov dword [esp + 0xb8], eax
lea eax, [esp + 0x110]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x3c]
movzx eax, byte [eax]
mov byte [esp + 0x1b], al
mov eax, dword [esp + 0xb0]
movzx eax, byte [eax]
mov byte [esp + 0x1c], al
mov eax, dword [esp + 0xb8]
movzx eax, byte [eax]
mov byte [esp + 0x1d], al
mov ecx, 0xa05dbb46
mov dword [esp + 0xa0], 0
mov eax, 0x2de3ad8a
mov edx, dword [esp + 0xac]
mov dword [esp + 0xa4], edx
mov dword [esp + 0x9c], 0
jmp 0x10052b40
cmp ecx, 0x2b303bdf
je 0x10055b41
cmp ecx, 0x2f98bc45
jne 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x1ad60697
mov ecx, 0x24e29c10
mov edx, 0x51915b42
cmovl ecx, edx
jmp 0x10052b40
cmp ecx, 0xf2337ad9
je 0x10055b5c
cmp ecx, 0xf3b80e57
jne 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x4bc1d863
mov ecx, 0xa21ddf7b
mov edx, 0xed6ae658
cmove ecx, edx
jmp 0x10052b40
cmp ecx, 0x7b653b89
je 0x10055b77
cmp ecx, 0x7ce44d28
jne 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x45d402e6
mov ecx, 0xa21ddf7b
mov edx, 0x577a218d
cmove ecx, edx
jmp 0x10052b40
cmp ecx, 0x8b7a40ac
jne 0x10055c80
mov ecx, dword [esp]
cmp ecx, 0x84930294
mov ecx, 0xa21ddf7b
mov edx, 0x8179f8cd
cmove ecx, edx
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0xdc68366e
mov ecx, 0x6eb9f7e4
mov edx, 0x201fbcaa
cmovl ecx, edx
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x5ef604b6
mov ecx, 0xa21ddf7b
mov edx, 0xb785e9b5
cmove ecx, edx
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0xbfb85422
mov ecx, 0xa21ddf7b
mov edx, 0xd9755ce1
cmove ecx, edx
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x42b388ce
mov ecx, 0x11a1ec3e
mov edx, 0x2f98bc45
cmovl ecx, edx
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x35b741dc
mov ecx, 0xa21ddf7b
mov edx, 0x8cd576f4
cmove ecx, edx
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x73dd82fa
mov ecx, 0xa8fad382
mov edx, 0xbd8df401
cmovl ecx, edx
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0xeb05aa5f
mov ecx, 0xcdc66d59
mov edx, 0x1a42399e
cmovl ecx, edx
jmp 0x10052b40
mov dword [esp], eax
mov ecx, 0xd557b31
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x14d05512
mov ecx, 0xb21bc03
mov edx, 0xbb8b72ff
cmovl ecx, edx
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x1ad60697
mov ecx, 0xa21ddf7b
mov edx, 0x9275de78
cmove ecx, edx
jmp 0x10052b40
mov ecx, 0xa05dbb46
mov dword [esp + 0x90], 0xffffffff
mov eax, 0x84930294
mov edx, dword [esp + 0x60]
mov byte [esp + 6], dl
mov edx, dword [esp + 0x28]
mov byte [esp + 0x16], dl
mov edx, dword [esp + 0x64]
mov byte [esp + 5], dl
jmp 0x10052b40
movzx eax, byte [esp + 0x16]
shl al, 2
mov byte [esp + 0x10], al
movzx ebx, byte [esp + 5]
shr bl, 4
mov bh, bl
not bh
mov al, bh
and al, 0xfc
movzx eax, al
lea edx, [eax + eax*2]
mov al, bh
and al, 3
sub dl, al
add dl, bl
mov eax, ebx
add al, bl
mov ah, al
xor ah, 7
add ah, dl
mov ch, bl
and ch, 3
sub ah, ch
add ah, 8
xor ch, 3
mov cl, bl
and cl, 0xc
mov dh, cl
xor dh, 0xfc
add dh, cl
mov dl, bl
or dl, 3
add dl, dh
mov dh, dl
not dh
sub dh, ch
or al, 0xf8
add al, cl
mov cl, bl
xor cl, 3
add cl, al
add cl, 6
add bh, cl
mov byte [esp + 0x20], bh
or ch, bh
sub cl, bl
or bh, bl
or bl, 0xfc
sub dl, bl
add dh, dh
add dh, dl
mov dl, ah
add dl, ah
add dl, dh
mov bl, ah
xor bl, dh
mov al, bl
add al, bl
sub al, dl
not bl
add bl, al
and ah, dh
not dh
add dh, bl
add ah, ah
add ah, dh
add ah, 2
mov al, byte [esp + 0x20]
add al, al
add ch, ch
sub ch, al
add cl, ch
or bh, 0xfc
add bh, cl
mov al, bh
not al
add al, ah
mov ecx, eax
add cl, al
sub bh, ah
add bh, bh
and bh, 0xcc
add bh, cl
xor al, 0x99
add al, bh
mov ecx, eax
add cl, 0x35
mov edx, ecx
xor dl, 1
add dl, al
xor cl, 0xfe
add cl, dl
mov al, 0x48
sub al, cl
mov edx, eax
and dl, 0x66
add dl, cl
or al, 0x99
sub dl, al
add dl, 0x36
movzx eax, dl
imul ecx, eax, 0x4f
imul eax, eax, 0xffffff9e
mov edx, eax
xor dl, 0x22
add dl, cl
or cl, 0x11
sub dl, cl
not cl
add cl, dl
and al, 0x22
add al, cl
mov ecx, eax
add cl, 0xda
mov edx, ecx
xor dl, 0x11
add dl, al
mov eax, ecx
not al
and al, 0xee
add al, dl
and cl, 0x11
add cl, al
add cl, 0xec
movzx ebp, cl
imul eax, ebp, 0xffffffaf
mov dl, 0xf5
sub dl, al
mov ecx, eax
mov byte [esp + 0x25], al
add cl, al
add cl, al
mov byte [esp + 0x20], cl
mov ecx, edx
and cl, 0xc8
add cl, al
mov byte [esp + 0x24], cl
mov ah, al
add ah, 0xa
mov bl, ah
mov al, ah
movzx ecx, byte [esp + 0x10]
mov ch, cl
not ch
add ch, ch
add ch, cl
or ch, 1
mov dh, dl
and dh, ch
add dh, dl
and ah, ch
or ch, dl
mov bh, dl
and dl, 0x37
mov cl, byte [esp + 0x25]
add cl, dl
or bh, 0x37
add bh, cl
add bh, dl
and bl, 0xc8
sub bl, byte [esp + 0x24]
or al, 0xc8
add al, bl
add bh, 0xd4
add al, 0xf6
or al, bh
mov cl, al
xor cl, 0x37
add al, al
xor al, 0x90
add al, cl
add al, 1
mov cl, byte [esp + 0x10]
and al, cl
add ah, dh
not ah
add ah, ch
add ah, al
mov al, cl
mov edx, ecx
imul ecx, ebp, 0x5e
sub cl, byte [esp + 0x20]
add cl, 0xf5
not cl
and cl, dl
or dl, 0xbf
and al, 0xbc
sub al, dl
xor al, 0xbe
add al, ah
mov edx, ecx
add dl, cl
sub cl, dl
movzx edx, cl
add cl, cl
lea edx, [edx + edx*2]
sub dl, cl
mov ecx, edx
add cl, 0xff
mov ch, dl
neg ch
and ch, al
add ch, al
mov ah, al
not ah
and ah, cl
add ah, ch
sub ah, dl
xor cl, al
add ah, cl
not cl
add cl, cl
add cl, ah
movzx eax, cl
lea eax, [eax + eax*8]
lea ecx, [eax + eax*8]
mov eax, ecx
add al, 0xf3
mov edx, eax
add dl, al
and dl, 0x50
add dl, al
xor al, 0x28
add al, dl
sub al, cl
add al, 0xc
not al
movzx eax, al
imul ecx, eax, 0x4f
mov eax, ecx
or al, 0xbd
add al, cl
mov edx, ecx
or dl, 0x42
add dl, al
add dl, 0xc0
mov ah, cl
not ah
add ah, dl
mov al, ah
not al
and al, 0xa7
add al, ah
sub cl, dl
or cl, 0x58
sub al, cl
add al, 0xb0
mov ecx, eax
and cl, 0x42
movzx ecx, cl
lea ecx, [ecx + ecx*2]
mov edx, eax
and dl, 0xbd
sub cl, dl
add al, al
xor al, 0x84
add al, cl
mov byte [esp + 0x10], al
movzx edx, byte [esp + 5]
shl dl, 4
mov ah, byte [esp + 6]
shr ah, 2
mov cl, ah
and cl, 0xf
mov ch, ah
and ch, 0xb
xor ch, 0x4b
and ah, 4
or ah, ch
add ah, cl
xor cl, 0xb4
add cl, ah
add cl, 0x4c
mov ah, cl
not ah
mov ch, cl
add ch, cl
xor ch, 0x68
add ch, cl
mov dh, cl
or dh, 0x4b
add dh, ch
xor cl, 0x4b
add cl, dh
or ah, 0xb4
add ah, cl
movzx esi, ah
mov ecx, esi
shl ecx, 5
add ecx, esi
mov ah, 0x47
sub ah, cl
add cl, 0xb8
and ah, 0x87
add ah, cl
or cl, 0x78
add cl, ah
add cl, 0x7a
mov ah, cl
not ah
mov dh, cl
add dh, cl
mov bl, dh
xor bl, 0xc0
add bl, dh
xor cl, 0x9f
add cl, bl
add ah, ah
or ah, 0xc0
add ah, cl
add ah, 0x42
mov cl, ah
and cl, 0x87
add cl, ah
not ah
and ah, 0x87
add ah, cl
movzx ebx, ah
mov ecx, ebx
shl ecx, 5
sub ebx, ecx
mov ecx, ebx
add cl, 1
mov ah, cl
add ah, cl
or ah, 0x80
add ah, bl
xor cl, 0xbf
add cl, ah
sub cl, bl
add cl, 0x81
mov eax, ecx
xor al, 0x80
mov byte [esp + 0x20], al
mov ah, cl
not ah
and ah, dl
mov ch, dl
not ch
mov bh, al
and bh, dl
mov bl, cl
xor bl, 0x70
and bl, dl
add bl, bh
add bl, ch
add bl, bh
add bl, 1
xor dl, al
mov bh, bl
xor bh, dl
add bh, bh
mov al, bl
or al, dl
not al
add al, bh
and dl, bl
add dl, dl
or dl, 2
add dl, al
mov bh, dl
add bh, 0xff
neg dl
mov al, dl
and al, 0x19
and bh, 0xe6
or bh, al
mov bl, bh
add bl, bh
or dl, 0x19
add bl, dl
add dl, bh
sub bl, dl
mov al, bl
xor al, 0x19
movzx esi, al
lea edx, [esi + esi*2]
add dl, al
mov al, bl
xor al, 0xe6
add al, dl
mov edx, ecx
add dl, ch
add dl, ah
add dl, 1
or dl, ah
add bl, bl
xor bl, 0xcd
add bl, al
movzx eax, dl
imul eax, eax, 0xffffffb6
xor al, 0x80
movzx eax, al
imul eax, eax, 0xffffffad
xor al, 0x80
add bl, al
mov eax, dword [esp + 0xb4]
mov edx, dword [esp + 0x90]
mov byte [eax], dl
mov esi, edx
movzx eax, byte [esp + 0x10]
add al, 0xbe
mov byte [esp + 0xd], al
mov eax, ecx
sub al, byte [esp + 0x20]
xor cl, 0x7f
add cl, al
add cl, 0x80
or cl, ch
mov eax, ecx
add al, cl
sub cl, al
mov edx, ecx
add dl, 0xff
mov eax, edx
mov ah, dl
or dl, 0x6e
neg cl
or cl, 0x6e
add cl, dl
and al, 0x10
xor al, 0x11
and ah, 0x60
not cl
add cl, ah
add cl, 0x6e
or cl, al
add cl, cl
xor cl, 0xdc
add cl, bl
movzx edx, byte [esp + 6]
mov eax, edx
shl al, 6
shl dl, 7
mov ah, dl
xor ah, 0x90
add ah, al
add ah, dl
mov edx, esi
add ah, dl
movzx eax, ah
imul edx, eax, 0x6f
mov eax, edx
add al, dl
sub al, dl
mov dl, 0xdc
sub dl, al
add al, 0x23
and al, 0xa2
and dl, 0x5d
sub al, dl
mov edx, eax
add dl, 0xba
mov ah, dl
not ah
and ah, 0x6c
add ah, ah
add ah, dl
xor dl, 0x93
add dl, ah
add cl, 3
add dl, al
movzx eax, dl
imul eax, eax, 0xffffff8f
add al, 0x11
mov byte [esp + 0xf], al
mov eax, ecx
add al, cl
mov edx, ecx
and dl, 1
or dl, al
xor dl, 0xfe
or cl, 1
add cl, dl
add cl, 0x14
mov eax, ecx
and al, 0xbf
add al, cl
xor al, 0x80
or cl, 0x40
sub al, cl
add al, 0xac
mov byte [esp + 0xe], al
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x78]
cmp eax, dword [esp + 0xc4]
mov eax, 0xf9ed64d5
mov ecx, 0xe3af9f9f
jmp 0x10052b35
mov eax, dword [esp + 0xa4]
add eax, 0xffffffff
imul ecx, eax, 0xad553e93
imul eax, eax, 0x5aaa7d26
mov edx, eax
not edx
and edx, 0x2f9a8b06
add edx, eax
xor ecx, 0xe832ba7c
add ecx, edx
imul eax, ecx, 0x79358f9b
lea ecx, [eax - 0x4b42f707]
mov edx, 0x4b42f706
sub edx, eax
and edx, 0xea2adf45
add eax, edx
add eax, 0xb4bd08f9
and ecx, 0xea2adf45
lea edx, [eax + ecx]
add eax, ecx
add eax, 0x623c4351
lea ecx, [edx + edx]
add ecx, 0xc47886a2
mov esi, ecx
xor esi, 0xd455be8a
add esi, edx
or eax, 0xea2adf45
sub esi, eax
not eax
add eax, esi
and ecx, 0xd455be8a
add eax, ecx
add eax, 0x7811640d
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0xbc], ecx
movzx ecx, byte [esp + 0x1b]
mov byte [esp + 0xa], cl
movzx ecx, byte [esp + 0x1c]
mov byte [esp + 0xb], cl
movzx ecx, byte [esp + 0x1d]
mov byte [esp + 0xc], cl
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xf4]
cmp dword [eax], 0x10
mov eax, dword [esp + 0xf8]
jae 0x10055bb9
mov eax, dword [esp + 0xf0]
jmp 0x10055bbb
mov ecx, dword [esp]
cmp ecx, 0x75f7ce8
mov ecx, 0x5260565
mov edx, 0x445f2c3d
cmovl ecx, edx
jmp 0x10052b40
mov eax, dword [esp + 0x34]
movzx eax, byte [esp + 0xf]
mov byte [esp + 0x19], al
movzx eax, byte [esp + 0xe]
mov byte [esp + 0x18], al
mov ecx, 0xa05dbb46
mov dword [esp + 0x98], 0
mov eax, 0xfaf7a36
movzx edx, byte [esp + 0xd]
mov byte [esp + 0x17], dl
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0xfaf7a36
mov ecx, 0xa21ddf7b
mov edx, 0x833941f9
cmove ecx, edx
jmp 0x10052b40
movzx eax, byte [esp + 4]
push eax
call fcn.1005a280
add esp, 4
mov esi, eax
movzx edx, byte [esp + 4]
mov ch, dl
or ch, 0xfb
mov eax, edx
xor al, 4
add al, ch
mov ebx, edx
or bl, 4
add bl, al
add bl, 2
mov cl, dl
not cl
movzx ebp, cl
mov dh, dl
sub dh, bl
add bl, cl
mov eax, ebx
and al, dl
add al, dl
or bl, dl
not bl
add bl, al
or dh, dl
sub bl, dh
mov eax, ebx
not al
mov dh, al
and dh, 0x19
add dh, bl
or al, 0xe6
sub dh, al
mov eax, edx
and al, 0xfb
mov ah, cl
or ah, 0xfb
add ah, al
mov ebx, edx
xor bl, 0xfb
add bl, ah
mov bh, bl
sub bh, ch
movzx eax, bh
add bh, bh
lea eax, [eax + eax*2]
add al, bh
mov bh, bl
not bh
add bh, ch
add bh, bh
add bh, al
sub ch, bl
add ch, ch
add ch, bh
add ch, ch
add ch, 6
mov al, 0x3b
sub al, dh
add dh, 0xc4
and al, ch
add al, dh
add al, ch
not ch
or ch, dh
add ch, al
mov al, 0xfe
sub al, ch
add ch, 1
mov ah, ch
and ah, 0x21
add ah, ch
and al, 0xde
add al, ah
xor ch, 0x21
add ch, al
mov dh, 4
sub dh, ch
add ch, 0x23
mov al, ch
and al, 0xf9
mov ah, al
add ah, al
add ch, ch
sub ch, ah
and dh, 6
add dh, ch
add dh, al
mov al, dh
not al
and al, dl
add al, dh
add al, dl
or dh, cl
add dh, al
add dh, 1
mov ch, dh
not ch
mov al, dh
add al, dh
mov ah, al
xor ah, 0xf2
add ah, al
xor dh, 6
add dh, ah
add ch, ch
or ch, 0xf2
add ch, dh
add ch, 4
lea ebx, [ebp*2]
add ebx, ebp
add bl, dl
add bl, dl
add bl, 2
mov dh, bl
or dh, 4
mov eax, ebx
not al
add dh, al
or al, 4
sub dh, al
and dh, bl
mov al, ch
and al, 0x97
add al, ch
mov ah, ch
or ah, 0x97
add ah, al
not ch
add ch, ah
add ch, dh
mov dh, ch
add dh, 0x6e
mov al, dh
xor al, 0xf8
add al, ch
mov ch, dh
or ch, 7
add ch, al
add cl, cl
add cl, dl
add cl, 1
mov dl, cl
not dl
mov eax, ecx
and al, 0xfb
add cl, cl
xor cl, 0xf6
and dl, 4
add dl, cl
add dl, al
add dl, 1
or dl, al
or dh, 0xf8
add dh, dl
sub ch, dh
movzx eax, ch
imul ecx, eax, 0xffffffc7
add cl, 0x7c
mov eax, ecx
or al, 0x5a
and cl, 0x5a
add cl, al
mov eax, ecx
or al, 0x94
or cl, 0x6b
add cl, al
movzx eax, cl
lea ecx, [eax + eax*8]
neg ecx
add cl, 0x17
mov eax, ecx
add al, cl
xor cl, 0xd5
add cl, al
or al, 0xaa
sub cl, al
mov edx, ecx
add dl, 0xff
and dl, 0x5d
neg cl
or cl, 0x5d
sub dl, cl
test esi, esi
mov eax, 0x707fd044
mov ecx, 0x848be75c
cmovne eax, ecx
cmp dl, 0x89
jmp 0x10055bdb
mov ecx, dword [esp]
cmp ecx, 0xdc68366e
mov ecx, 0xa21ddf7b
mov edx, 0x8e863844
cmove ecx, edx
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x35b741dc
mov ecx, 0x1dd6f478
mov edx, 0x14e1899a
cmovl ecx, edx
jmp 0x10052b40
mov ecx, 0xb4c35c00
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0xbfb85422
mov ecx, 0x667a9abb
mov edx, 0xdd67a49e
cmovl ecx, edx
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x4bc1d863
mov ecx, 0xb501ea48
mov edx, 0x65ac8d44
cmovl ecx, edx
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0xaf3ee9ee
mov ecx, 0xa7cd0524
mov edx, 0xfa69a45
cmovl ecx, edx
jmp 0x10052b40
mov eax, dword [esp + 0xdc]
movsx eax, byte [eax]
push dword [esp + 0xd0]
push eax
push dword [esp + 0xdc]
call fcn.10058da0
add esp, 0xc
mov ecx, dword [esp + 0x100]
mov edx, ecx
not edx
lea edi, [edx + edx*2]
lea edx, [edi + ecx*2]
mov dword [esp + 0x54], ecx
mov ebx, 0xfffffffd
sub ebx, edx
mov edx, eax
not edx
lea esi, [ebx + edx]
mov ebp, ebx
xor ebp, edx
lea ebp, [ebp + ebp*2]
sub esi, ebp
mov ebp, ebx
or ebp, edx
add ebp, esi
xor ebx, eax
add ebx, ebx
sub ebp, ebx
lea esi, [edi + ecx*2]
add esi, 2
or esi, eax
mov ecx, eax
mov dword [esp + 0x10], eax
lea esi, [esi*2]
add esi, ebp
not esi
lea edi, [esi + esi*2]
mov ebx, edi
neg ebx
lea esi, [esi + esi*2]
add esi, 0xffffffff
and esi, 0x147350ef
mov ebp, ebx
and ebp, 0xeb8caf10
or ebp, esi
sub ebp, edi
xor ebx, 0xeb8caf10
lea esi, [ebx + ebp]
lea edi, [ebx + ebp]
add edi, 0x147350f0
mov ebx, edi
not ebx
lea ebp, [esi + esi]
add ebp, 0x28e6a1e0
xor ebp, 0xd7195e20
add esi, ebp
add esi, 0x147350f0
mov ebp, edi
or ebp, 0x147350ef
add ebp, esi
xor edi, 0x147350ef
add edi, ebp
or ebx, 0xeb8caf10
lea esi, [edi + ebx]
lea eax, [ebx + edi]
add eax, 0xeb8caf14
lea ebp, [ecx + ecx*2]
mov edi, ebp
neg edi
lea esi, [esi*2 - 0x28e6a1d8]
add esi, ebp
mov ebx, eax
xor ebx, edi
sub esi, ebx
sub esi, ebx
add esi, ebx
sub esi, ebp
and edi, eax
not edi
lea ebx, [esi + edi*2]
mov ebp, dword [esp + 0x10]
lea edi, [edx*2]
add edi, ebp
lea eax, [edx*2 + 1]
add eax, ebp
mov ecx, dword [esp + 0x54]
or eax, ecx
add eax, ecx
sub ebx, eax
mov edx, 0x3ffffffe
sub edx, edi
mov eax, 0xfffffffe
sub eax, edi
and edx, ecx
and eax, ecx
lea ecx, [ebx + 2]
lea eax, [eax + eax*2]
add edx, edx
sub edx, eax
mov eax, ecx
and eax, 0x487d7fcd
lea eax, [eax + ebx*2]
add eax, 4
mov esi, ecx
not esi
and esi, 0x487d7fcd
lea esi, [esi + esi*2]
add esi, eax
xor ecx, 0xb7828032
add ecx, esi
lea eax, [ecx + edx*2]
add eax, 0xb7828033
mov ecx, eax
or ecx, 0xb7828032
and eax, 0xb7828032
add eax, ecx
add eax, 1
imul edx, eax, 0x2c6e239f
imul eax, eax, 0x58dc473e
mov ecx, edx
xor ecx, 0xbf29b00
add ecx, eax
add edx, edx
or edx, 0x17e53600
sub ecx, edx
lea eax, [ecx - 1]
and eax, 0xa25e498
neg ecx
or ecx, 0xa25e498
sub eax, ecx
lea ecx, [eax + 0xa25e497]
lea edx, [eax + eax]
add edx, 0x144bc92e
xor edx, 0x17e53600
add eax, edx
add eax, 0xa25e497
mov edx, ecx
or edx, 0xbf29b00
sub eax, edx
not ecx
add ecx, eax
imul eax, ecx, 0x5b15c7a1
add eax, 0xb62b8f42
mov ecx, eax
or ecx, 0x61011468
mov edx, eax
not edx
or edx, 0x61011468
add edx, ecx
sub edx, eax
add edx, 0x3dfdd731
mov dword [esp + 0x54], edx
test ebp, ebp
mov eax, 0x1ad60697
mov ecx, 0xfb430401
jmp 0x100553de
mov eax, dword [esp + 0x94]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0xd8]
lea ecx, [esp + 0x118]
add eax, ecx
mov dword [esp + 0xdc], eax
cmp byte [esp + 0x27], 0
mov eax, 0xbfb85422
mov ecx, 0xfb430401
cmovne eax, ecx
mov ecx, 0xa05dbb46
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x78c7499a
mov ecx, 0xa21ddf7b
mov edx, 0xba6224c9
cmove ecx, edx
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0xcc4b78a2
mov ecx, 0x53604139
mov edx, 0xd967ccb2
cmovl ecx, edx
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x6ea7d66c
mov ecx, 0xa21ddf7b
mov edx, 0x20270a2d
cmove ecx, edx
jmp 0x10052b40
mov eax, dword [esp + 0x84]
mov ecx, eax
and ecx, 0xf6a00fec
xor eax, 0x76a00fec
lea edx, [eax + ecx*2]
lea eax, [eax + ecx*2]
add eax, 0x895ff014
mov ecx, 0x76a00feb
sub ecx, edx
and ecx, 0x81356378
or eax, 0x81356378
lea esi, [eax + edx]
add esi, 0x895ff014
add ecx, edx
sub esi, ecx
mov ecx, 0xa95538b
sub ecx, esi
mov eax, ecx
and eax, 0xfffffffe
add eax, esi
or ecx, 1
sub eax, ecx
lea ecx, [eax - 0xa95538a]
mov edx, ecx
and edx, 0x81356378
lea edx, [edx + edx*2]
and ecx, 0x7eca9c87
sub edx, ecx
add eax, eax
add eax, 0xead558ec
xor eax, 0x26ac6f0
lea esi, [edx + eax]
add eax, edx
add eax, 0xd2586cb4
mov ecx, eax
not ecx
lea edx, [esi + esi]
add edx, 0xa4b0d968
xor eax, 0xd6d1d260
lea eax, [eax + eax*2]
mov esi, edx
sub esi, eax
xor edx, 0xada3a4c0
add edx, esi
add ecx, ecx
or ecx, 0x525c5b3e
lea eax, [edx + ecx]
add ecx, edx
add ecx, 0x83440236
mov edx, dword [esp + 0xe4]
mov dword [edx], ecx
mov edx, dword [esp + 0xe8]
mov ecx, dword [esp + 0x108]
cmp edx, 0x10
jae 0x10055c0b
mov ecx, dword [esp + 0x44]
jmp 0x10055c0d
mov ecx, dword [esp]
cmp ecx, 0x14d05512
mov ecx, 0xa21ddf7b
mov edx, 0xad1d93af
cmove ecx, edx
jmp 0x10052b40
mov eax, dword [esp + 0x68]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x3c]
movzx ecx, byte [esp + 7]
mov byte [eax], cl
mov eax, dword [esp + 0xb0]
movzx ecx, byte [esp + 8]
mov byte [eax], cl
mov eax, dword [esp + 0xb8]
movzx ecx, byte [esp + 9]
mov byte [eax], cl
cmp dword [esp + 0x50], 0
mov eax, 0xb67f8616
mov ecx, 0x6a49e00
cmove eax, ecx
mov ecx, 0xa05dbb46
jmp 0x10052b40
lea eax, [esp + 0x114]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x108], eax
mov dword [esp + 0xa8], 0
mov eax, 0x14d05512
movzx ecx, byte [esp + 0x1e]
mov byte [esp + 0x1a], cl
mov ecx, 0xa05dbb46
jmp 0x10052b40
movsx edx, byte [esp + 0xf]
mov ecx, dword [esp + 0x2c]
call fcn.10055cb0
jmp 0x10055c71
mov dword [esp + 0x54], 0xffffffff
mov eax, 0x1ad60697
mov ecx, 0xa05dbb46
jmp 0x10052b40
mov eax, dword [esp + 0x30]
mov byte [eax], 0xff
mov eax, dword [esp + 0x6c]
mov byte [eax], 0xff
mov eax, dword [esp + 0x70]
mov byte [eax], 0xff
mov ecx, 0xa05dbb46
mov al, 0xff
mov dword [esp + 0x60], eax
mov eax, 0xa42fff3
mov dl, 0xff
mov dword [esp + 0x28], edx
mov dl, 0xff
mov dword [esp + 0x64], edx
jmp 0x10052b40
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x10c], eax
movzx eax, byte [esp + 0x1a]
mov byte [esp + 0x1f], al
mov eax, dword [esp + 0xe0]
mov eax, dword [esp + 0xe4]
mov eax, dword [eax]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x84]
cmp eax, dword [esp + 0xe8]
mov eax, 0xeb05aa5f
mov ecx, 0xcc4b78a2
jmp 0x10052b35
cmp dword [esp + 0x50], 0
mov eax, 0x42b388ce
mov ecx, 0x35b741dc
cmovg eax, ecx
mov ecx, 0xa05dbb46
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0xd220cc29
mov ecx, 0xc07a234e
mov edx, 0xebc651b0
cmovl ecx, edx
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0xcc4b78a2
mov ecx, 0xa21ddf7b
mov edx, 0x7db6be1
cmove ecx, edx
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x707fd044
mov ecx, 0xcf2c085c
mov edx, 0xa3c22e77
cmovl ecx, edx
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0xe3af9f9f
mov ecx, 0xe9d73b7b
mov edx, 0x37f6f64a
cmovl ecx, edx
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x3bcc542b
mov ecx, 0xa21ddf7b
mov edx, 0xc9841cee
cmove ecx, edx
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0xaa90c4a
mov ecx, 0xa21ddf7b
mov edx, 0x6a9b5dba
cmove ecx, edx
jmp 0x10052b40
mov eax, 0x1015b65c
mov ecx, dword [0x1015b66c]
mov dword [esp + 0xd0], ecx
cmp dword [0x1015b670], 0x10
jb 0x100555cb
mov eax, dword [0x1015b65c]
mov dword [esp + 0xd4], eax
cmp dword [esp + 0xd0], 0
sete byte [esp + 0x27]
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x100], eax
mov ecx, 0xa05dbb46
mov dword [esp + 0x94], 0
mov eax, 0x73dd82fa
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0xfb430401
mov ecx, 0xa21ddf7b
mov edx, 0x507456d4
cmove ecx, edx
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x75f7ce8
mov ecx, 0xa21ddf7b
mov edx, 0x317f811f
cmove ecx, edx
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x2de3ad8a
mov ecx, 0xa21ddf7b
mov edx, 0xf42afe30
cmove ecx, edx
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0xd220cc29
mov ecx, 0xa21ddf7b
mov edx, 0x421ff565
cmove ecx, edx
jmp 0x10052b40
mov ecx, dword [esp + 0x7c]
mov edx, ecx
not edx
mov esi, edx
or esi, 1
add esi, edx
mov eax, ecx
xor eax, 1
mov dword [esp + 0x10], eax
add esi, eax
lea edi, [edx + edx]
or edi, 0xfffffffc
sub esi, edi
lea edi, [esi - 2]
add esi, esi
add esi, 0xfffffffc
sub edi, esi
lea esi, [edi + 0x8644fbf]
or esi, 0xf79bb040
mov ebx, 0x79bb040
sub ebx, edi
or ebx, 0xf79bb040
add ebx, esi
not ebx
lea esi, [edi + ebx]
lea ebp, [ecx + ecx]
add edi, ebx
add edi, 0xe6247793
lea ebx, [esi + ecx*2]
add ebx, 0xe6247793
or edi, ebp
not edi
add edi, ebx
mov eax, 0x19db886c
sub eax, esi
lea esi, [edi + ecx*2]
add esi, 1
lea edi, [edi + ecx*2]
or eax, ebp
mov ebx, eax
not ebx
add ebx, edi
add ebx, 1
mov ebp, ebx
and ebp, 0x117738ac
sub eax, esi
and eax, 0x117738ac
sub ebp, eax
xor ebx, 0x117738ac
mov esi, 0xe5cbbd41
sub esi, ebp
sub esi, ebx
lea edi, [ebx + ebp]
add edi, 0x117738ac
not edi
lea eax, [ebx + ebp]
add eax, 0x1a3442be
lea ebx, [eax + eax*2]
and eax, 0xfffffffe
lea eax, [eax + eax*2]
sub ebx, eax
or esi, 1
sub ebx, esi
add edi, edi
or edi, 0xfffffffc
lea eax, [ebx + edi]
lea esi, [ebx + edi]
add esi, 2
mov edi, 0xffffffd
sub edi, eax
and edi, 0x8bd0a12
lea edi, [edi + eax*2]
add edi, 4
or esi, 0x8bd0a12
sub edi, esi
lea eax, [edi - 0x8bd0a12]
and edx, 0xfffffffe
lea edx, [edx + edx*2]
lea esi, [edi + 0x5bd40dc3]
mov ebx, edx
sub ebx, eax
mov eax, esi
or eax, edx
add eax, ebx
not edx
or edx, esi
add edx, eax
lea ebx, [edi + edx]
add ebx, 0xf742f5ee
add edx, edi
add edx, 0x92b1de1a
mov eax, ecx
xor eax, 0x6149fd54
add eax, dword [esp + 0x10]
xor ecx, 0x9eb602ab
lea esi, [eax + ecx]
add eax, ecx
add eax, 1
mov ebp, 0xfffffffe
sub ebp, esi
mov ecx, ebp
and ecx, 0xb4c57687
mov edi, ebp
and edi, 0x4b3a8978
add edi, edi
sub ecx, edi
add esi, esi
add esi, 2
or esi, 0x698aed0e
sub ecx, esi
mov esi, eax
and esi, 0x4b3a8978
or eax, 0x4b3a8978
add eax, esi
add ecx, 0xfffffffe
or ebp, 0x4b3a8978
add eax, ebp
add eax, 0xb4c57689
or eax, ecx
mov ecx, edx
and ecx, 0xcbf451d5
add ecx, ebx
add ecx, 0x9b6ee82c
mov esi, 0x249117d3
sub esi, ebx
and esi, 0x340bae2a
add esi, ecx
xor eax, 0xb4c57687
xor edx, 0x340bae2a
add edx, esi
lea ecx, [ebx + ebx]
add ecx, 0x36ddd058
xor ecx, 0x97e8a3aa
lea esi, [edx + ecx]
add edx, ecx
add edx, 0xcbf451d8
lea ecx, [eax + 1]
and edx, ecx
lea ecx, [edx + esi]
add ecx, 0xcbf451d8
add ecx, eax
add ecx, 1
mov eax, ecx
not eax
sub ecx, edx
add eax, edx
mov edx, eax
and edx, 0x340bae2a
add edx, ecx
xor ecx, 0xcbf451d5
add ecx, edx
or eax, 0x340bae2a
sub eax, ecx
lea ecx, [eax - 0x340bae2a]
add eax, eax
add eax, 0x97e8a3ac
mov edx, eax
or edx, 7
sub edx, eax
xor eax, 0xfffffff9
add eax, edx
xor ecx, 3
add ecx, eax
imul eax, ecx, 0x43bf34a7
lea ecx, [eax + 0x43bf34a7]
mov edx, ecx
and edx, 0xc013ea28
lea edx, [edx + edx*2]
and ecx, 0x3fec15d7
sub edx, ecx
add eax, eax
add eax, 0x877e694e
xor eax, 0x8027d450
lea ecx, [edx + eax]
add eax, edx
add eax, 0xbfc44188
mov edx, eax
not edx
and edx, 0xd1676f9e
lea ecx, [edx + ecx*2]
add ecx, 0x7f888310
or eax, 0xd1676f9e
sub ecx, eax
imul eax, ecx, 0xd4a33317
lea ecx, [eax + 0x47234d4f]
mov edx, ecx
not edx
and edx, 0x669bdb41
lea edx, [edx + eax*2]
add edx, 0x8e469a9e
or ecx, 0x669bdb41
sub edx, ecx
lea eax, [edx + 0x669bdb42]
mov ecx, eax
not ecx
mov esi, ecx
and esi, 0x29c4b449
add edx, esi
add edx, 0x669bdb42
xor eax, 0xd63b4bb6
add eax, edx
or ecx, 0x29c4b449
sub eax, ecx
lea ecx, [eax - 0x3cd726f9]
mov edx, dword [esp + 0x38]
mov dword [edx], ecx
mov edx, dword [esp + 0xc8]
mov ecx, dword [esp + 0x74]
cmp edx, 0x10
jae 0x10055c33
mov ecx, dword [esp + 0x44]
jmp 0x10055c35
mov ecx, dword [esp]
cmp ecx, 0x6a49e00
mov ecx, 0xa21ddf7b
mov edx, 0x83a92db9
cmove ecx, edx
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x6ea7d66c
mov ecx, 0x90f09e46
mov edx, 0x6823094a
cmovl ecx, edx
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0xb7222bc9
mov ecx, 0x160e0444
mov edx, 0x616d7fe2
cmovl ecx, edx
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0xa06ab1ef
mov ecx, 0xa21ddf7b
mov edx, 0xa9155b73
cmove ecx, edx
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0xb67f8616
mov ecx, 0xa21ddf7b
mov edx, 0x200aee6a
cmove ecx, edx
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0xf9ed64d5
mov ecx, 0xa21ddf7b
mov edx, 0xc5995e5d
cmove ecx, edx
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x6ab97ff4
mov ecx, 0xeca8fddb
mov edx, 0x198186b3
cmovl ecx, edx
jmp 0x10052b40
mov eax, dword [esp + 0x80]
lea ecx, [eax + eax]
or ecx, 0x11294680
add ecx, eax
mov edx, eax
xor edx, 0xf76b5cbf
lea esi, [ecx + edx]
add ecx, edx
add ecx, 0xeed6b982
mov edx, eax
not edx
add edx, esi
add edx, 0xeed6b982
mov esi, edx
or esi, 1
add esi, edx
sub eax, ecx
or eax, 1
lea ecx, [esi + eax]
add eax, esi
add eax, 1
mov edx, eax
and edx, 0x894a340
add ecx, edx
add ecx, 1
not eax
add ecx, eax
or eax, 0x894a340
sub ecx, eax
imul ecx, ecx, 0xf628dcf9
lea eax, [ecx + 0x16ddc940]
mov edx, eax
and edx, 0xd1acf2c6
add ecx, edx
add ecx, 0x16ddc940
mov edx, eax
xor edx, 0xd1acf2c6
lea esi, [ecx + edx]
add ecx, edx
add ecx, 2
and eax, 0x2e530d39
mov edx, eax
not edx
add edx, esi
add edx, 2
mov esi, edx
and esi, 0x87792897
add esi, edx
or edx, 0x87792897
add edx, esi
sub eax, ecx
add eax, edx
imul eax, eax, 0x1f0edab7
lea ecx, [eax - 0x6a32278a]
and ecx, 0x7a91660f
lea edx, [ecx + eax]
add edx, 0x95cdd876
mov eax, ecx
sub eax, edx
neg edx
add ecx, edx
add ecx, 0x856e99f1
mov edx, dword [esp + 0x38]
mov dword [edx], ecx
mov edx, dword [esp + 0xcc]
mov ecx, dword [esp + 0x74]
cmp edx, 0x10
jae 0x10055c58
mov ecx, dword [esp + 0x44]
jmp 0x10055c5a
mov ecx, dword [esp]
cmp ecx, 0x73dd82fa
mov ecx, 0xa21ddf7b
mov edx, 0x61ba9725
cmove ecx, edx
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0x5ef604b6
mov ecx, 0xdefef32f
mov edx, 0xf3b80e57
cmovl ecx, edx
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0xeb05aa5f
mov ecx, 0xa21ddf7b
mov edx, 0x7b653b89
cmove ecx, edx
jmp 0x10052b40
mov ecx, dword [esp]
cmp ecx, 0xa42fff3
mov ecx, 0xa21ddf7b
mov edx, 0x792c141e
cmove ecx, edx
jmp 0x10052b40
movsx edx, byte [esp + 0x1f]
mov ecx, dword [esp + 0x2c]
call fcn.10055cb0
mov eax, 0x45d402e6
mov ecx, 0xa05dbb46
jmp 0x10052b40
mov ecx, dword [ecx]
mov edx, dword [esp + 0x78]
movzx ebx, byte [esp + 0xd]
mov byte [ecx + edx], bl
mov byte [ecx + eax + 0x2be9c29], 0
mov ecx, 0xa05dbb46
mov eax, 0x6ab97ff4
jmp 0x10052b40
mov eax, dword [eax]
mov ecx, dword [esp + 0xbc]
movzx eax, byte [eax + ecx]
mov byte [esp + 4], al
movzx eax, byte [esp + 4]
cmp al, 0x3d
mov eax, 0x75f7ce8
mov ecx, 0x707fd044
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, 0xa05dbb46
mov edx, dword [esp + 0x58]
mov dword [esp + 0x68], edx
jmp 0x10052b40
mov ecx, dword [ecx]
mov edx, dword [esp + 0x84]
movzx ebx, byte [esp + 0x1f]
mov byte [ecx + edx], bl
mov byte [ecx + eax - 0x7cbbfdca], 0
mov ecx, 0xa05dbb46
mov eax, 0x45d402e6
jmp 0x10052b40
mov ecx, dword [ecx]
mov edx, dword [esp + 0x7c]
movzx ebx, byte [esp + 0xe]
mov byte [ecx + edx], bl
mov byte [ecx + eax - 0x3cd726f9], 0
mov ecx, 0xa05dbb46
mov eax, 0xaa90c4a
jmp 0x10052b40
mov ecx, dword [ecx]
mov edx, dword [esp + 0x80]
movzx ebx, byte [esp + 0xf]
mov byte [ecx + edx], bl
mov byte [ecx + eax - 0x7a91660f], 0
mov ecx, 0xa05dbb46
mov eax, 0x78c7499a
jmp 0x10052b40
cmp ecx, 0x83a92db9
jne 0x10052b40
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x11c]
xor ecx, esp
call fcn.100582ea
add esp, 0x120
pop esi
pop edi
pop ebx
pop ebp
ret