Function at 0x6862d0
Capabilities:
Authenticate hmac
Compress data via zlib inflate or deflate
Encode data using base64
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x2e0
mov edi, dword [esp + 0x2f4]
mov eax, dword [0xb44908]
xor eax, esp
mov dword [esp + 0x2dc], eax
call fcn.0068b970
mov edx, dword [0xb2f43c]
mov ecx, dword [0xb2f418]
mov esi, 0xffff1bb0
mov dword [esp + 0xa0], eax
sub esi, eax
mov dword [esp + 0x70], esi
sub ecx, esi
add ecx, edx
call dword [0xb0836c]
call ecx
mov ecx, dword [0xb53274]
mov dword [esp + 0x58], ecx
mov ebp, dword [0xb2f3f0]
mov ecx, eax
xor ecx, 0x468ad625
mov esi, dword [0xb2f3f8]
cmp ebp, ecx
jne 0x68639c
mov ebx, eax
xor ebx, 0xc42a9ef
mov edx, eax
xor edx, 0xd65efafe
mov ecx, eax
xor ecx, 0xf11d1a5f
mov edi, esi
mov esi, eax
xor esi, 0x29a10501
add esi, ecx
mov ecx, eax
xor ecx, 0xee2e5a0
add ecx, edx
add ecx, esi
mov esi, edi
mov edi, dword [esp + 0x2f4]
add ecx, dword [esi + ebx*4]
imul esi, esi
mov dword [0xb2f3e0], 0xb90ef028
sub ecx, esi
mov edx, ecx
not edx
imul edx, esi
add ecx, edx
add ecx, 2
imul esi, ecx
jmp 0x68639e
add esi, dword [esi]
mov ecx, dword [0xab49f4]
mov dword [esp + 4], ecx
mov ecx, dword [0xb2f3fc]
add ecx, dword [ecx]
mov ebx, 0xfffffffe
test edi, edi
je 0x68b6f8
cmp dword [edi + 0x20], 0
je 0x68b6f8
mov dword [esp + 0x14], ecx
mov dword [esp + 0x54], ebp
mov dword [esp + 0x28], eax
mov edx, dword [0xb2f3d8]
lea eax, [edx + 1]
mov dword [0xb2f3d8], eax
mov dword [0xb2f3e4], 0xc1bf5cb9
mov ecx, 0xfffffffe
sub ecx, edx
xor eax, edx
not edx
and edx, ecx
or edx, eax
mov edi, 0
mov ebp, 0
mov dword [esp + 0x2b4], edx
cmp edx, 0xffffffff
je 0x68afcc
mov edx, dword [esp + 0x28]
mov eax, edx
xor eax, 0x4cfa2e61
cmp dword [esp + 0x54], eax
mov eax, 0
jne 0x686439
mov dword [0xb2f3f0], 0xee6e7eb9
mov eax, 6
mov ebx, 0xfffffffe
mov esi, dword [esp + 0x2f4]
cmp dword [esi + 0x24], 0
je 0x68b6f8
imul eax, eax, 0x38
mov eax, dword [esi + eax + 0x1c]
test eax, eax
je 0x68b6f8
cmp dword [eax], esi
jne 0x68b6f8
mov eax, dword [eax + 4]
mov ecx, edx
xor ecx, eax
xor ecx, 0xb3bd6927
mov edx, dword [esp + 0x28]
xor edx, 0x33bd6927
and edx, eax
lea eax, [ecx + edx*2]
mov edx, dword [esp + 0x28]
mov ecx, edx
xor ecx, 0x4c42a9cb
cmp eax, ecx
jae 0x68b6f8
cmp dword [esi + 0xc], 0
je 0x68b6f8
mov dword [esp + 0x8c], ecx
cmp byte [0xb532ad], 0
jne 0x6864b5
cmp dword [esi], 0
jne 0x6864d0
mov eax, dword [esi + 4]
mov ecx, eax
mov edx, dword [esp + 0x58]
xor ecx, edx
and eax, edx
mov edx, dword [esp + 0x28]
add eax, eax
add eax, ecx
jne 0x68b6f8
add dword [esp + 0xa0], 0xe450
mov eax, dword [esi + 0x1c]
lea ecx, [eax + 4]
mov dword [esp + 0x18], ecx
mov ecx, edx
xor ecx, 0x4c4296d4
mov dword [esp + 0x10], eax
mov dword [esp + 0xac], ecx
cmp dword [eax + 4], ecx
jne 0x68650a
mov eax, edx
xor eax, 0x4c4296ab
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
mov eax, edx
xor eax, 0xb09e9ae8
mov ecx, edx
xor ecx, 0x4f616517
add ecx, eax
mov dword [esp + 0x250], ecx
mov eax, edx
xor eax, 0x39110f1b
mov ecx, edx
xor ecx, 0xc6eef0e4
add ecx, eax
mov dword [esp + 0x278], ecx
mov esi, edx
xor esi, 0x85488c13
mov dword [esp + 0x1d8], esi
mov ecx, edx
xor ecx, 0xf67a3373
mov eax, edx
xor eax, 0x985cc8c
add ecx, esi
add ecx, eax
mov dword [esp + 0x2a0], ecx
mov eax, edx
xor eax, 0x8e924f0f
mov ecx, edx
xor ecx, 0x716db0f0
add ecx, eax
mov dword [esp + 0x238], ecx
mov eax, edx
xor eax, 0x284e593f
mov ecx, edx
xor ecx, 0xdfe9af31
add ecx, eax
mov eax, ecx
not eax
add eax, ecx
mov dword [esp + 0x248], eax
mov eax, edx
xor eax, 0x4c42a8eb
mov dword [esp + 0x158], eax
mov eax, edx
xor eax, 0x4c42a9ed
mov dword [esp + 0xa8], eax
mov eax, edx
xor eax, 0xb3bd5610
mov dword [esp + 0x134], eax
mov eax, edx
xor eax, 0x4c42a9e8
mov dword [esp + 0x34], eax
mov eax, edx
xor eax, 0x4c42a9e3
mov dword [esp + 0x2c], eax
mov eax, edx
xor eax, 0x4c42a9f3
mov dword [esp + 0x74], eax
mov eax, edx
xor eax, 0xb3bd5615
mov dword [esp + 0x68], eax
mov eax, edx
xor eax, 0x4c42a9fb
mov dword [esp + 0x50], eax
mov ecx, edx
xor ecx, 0xb3bd5616
mov eax, edx
xor eax, 0xb3bd5617
mov dword [esp + 0xec], eax
mov eax, edx
xor eax, 0x4c42a9ef
mov dword [esp + 0x3c], eax
mov eax, edx
xor eax, 0x5f8cac2d
mov dword [esp + 0x78], eax
mov eax, edx
xor eax, 0x979dbad0
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0xa0]
mov ebx, eax
sub ebx, dword [esp + 0x58]
mov dword [esp + 0x128], ebx
mov ebx, edx
xor bl, 0x87
mov byte [esp + 0x5e], bl
mov ebx, edx
xor bl, 0x1e
mov byte [esp + 0xd1], bl
mov ebx, edx
xor bl, 0x60
mov byte [esp + 0x86], bl
mov esi, edx
xor esi, 0x4c42a9fe
mov dword [esp + 0xf0], esi
mov ebx, edx
xor ebx, 0x4c4296ba
mov dword [esp + 0x40], ebx
mov ebx, edx
xor ebx, 0x4c4296a4
mov dword [esp + 0x24c], ebx
mov ebx, edx
xor bl, 0x89
mov byte [esp + 0x8b], bl
mov ebx, edx
xor bl, 0x7c
mov byte [esp + 0xeb], bl
mov ebx, edx
xor bl, 0x36
mov byte [esp + 0xea], bl
mov ebx, edx
xor ebx, 0x4c42a9fc
mov dword [esp + 0xfc], ebx
mov ebx, edx
xor ebx, 0x4c4296a3
mov dword [esp + 0x15c], ebx
mov ebx, edx
xor ebx, 0x4c42a9e5
mov dword [esp + 0x1b4], ebx
mov ebx, edx
xor ebx, 0x4c42a9f4
mov dword [esp + 0x12c], ebx
mov ebx, edx
xor ebx, 0xb3bd560b
mov dword [esp + 0x160], ebx
mov ebx, edx
xor ebx, 0x4c42a8ea
mov dword [esp + 0x1bc], ebx
mov ebx, edx
xor ebx, 0x4c42a9ee
mov dword [esp + 0x130], ebx
mov ebx, edx
xor ebx, 0x4c42a9e1
mov dword [esp + 0x260], ebx
mov ebx, edx
xor ebx, 0x4c42a9e4
mov dword [esp + 0x11c], ebx
mov ebx, edx
xor ebx, 0xb3bd5619
mov dword [esp + 0x25c], ebx
mov esi, edx
xor esi, 0x4c42a9f6
mov dword [esp + 0x1d0], esi
mov ebx, edx
xor ebx, 0x4c4296ae
mov dword [esp + 0x240], ebx
mov ebx, edx
xor ebx, 0x5613
mov dword [esp + 0x2b0], ebx
mov esi, edx
xor esi, 0x643b13c9
mov ebx, ecx
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x2ac], esi
sub ecx, esi
mov dword [esp + 0x2a8], ecx
mov ecx, edx
xor ecx, 0x9bc4ec36
mov dword [esp + 0x2a4], ecx
mov ecx, edx
xor ecx, 0x4c42a9f8
mov dword [esp + 0xc4], ecx
mov ecx, edx
xor ecx, 0xb3bd561b
mov dword [esp + 0x120], ecx
mov ecx, edx
xor ecx, 0x4c42a9ec
mov dword [esp + 0x90], ecx
mov ecx, edx
xor ecx, 0x5df742bd
mov dword [esp + 0x150], ecx
add eax, dword [esp + 0x58]
mov dword [esp + 0xa0], eax
mov eax, edx
xor al, 0xf4
mov byte [esp + 0x8a], al
mov eax, edx
xor al, 0x83
mov byte [esp + 0xe5], al
mov eax, edx
xor al, 0xf2
mov byte [esp + 0xe4], al
mov eax, edx
xor eax, 0x4c42a9f2
mov dword [esp + 0xb0], eax
mov eax, edx
xor eax, 0x4c4296ad
mov dword [esp + 0x234], eax
mov eax, edx
xor eax, 0xa9fb
mov dword [esp + 0x270], eax
mov eax, edx
xor eax, 0x4c42a994
mov dword [esp + 0x20c], eax
mov eax, edx
xor eax, 0x4c42a9e0
mov dword [esp + 0x208], eax
mov eax, edx
xor eax, 0xb3bd5612
mov dword [esp + 0x204], eax
mov eax, edx
xor eax, 0xe02a486
mov dword [esp + 0x244], eax
mov eax, edx
xor al, 0xdd
mov byte [esp + 0x4e], al
mov eax, edx
xor al, 0x8e
mov byte [esp + 0x81], al
mov eax, edx
xor al, 0x93
mov byte [esp + 0x4f], al
mov eax, edx
xor eax, 0x4c42a9f1
mov dword [esp + 0x94], eax
mov eax, edx
xor eax, 0x4c42a9e2
mov dword [esp + 0x164], eax
mov eax, edx
xor al, 0x54
mov byte [esp + 0x5d], al
mov eax, edx
xor al, 2
mov byte [esp + 0x33], al
mov eax, edx
xor al, 0xe7
mov byte [esp + 0xd0], al
mov eax, edx
xor eax, 0x4c42a9f7
mov dword [esp + 0x6c], eax
mov eax, edx
xor al, 0xbf
mov byte [esp + 0x82], al
mov eax, edx
xor al, 0x5b
mov byte [esp + 0xcb], al
mov eax, edx
xor al, 0xe0
mov byte [esp + 0xca], al
mov eax, edx
xor eax, 0x4c42a9fd
mov dword [esp + 0xb4], eax
mov eax, edx
xor eax, 0x4c4296ac
mov dword [esp + 0x154], eax
neg dword [esp + 0x1d8]
mov eax, edx
xor al, 0xe4
mov byte [esp + 0xe1], al
mov eax, edx
xor eax, 0xab
mov dword [esp + 0x1a8], eax
mov eax, edx
xor al, 8
mov byte [esp + 0x83], al
mov eax, edx
xor al, 0x61
mov byte [esp + 0xcd], al
mov eax, edx
xor al, 0x58
mov byte [esp + 0xcc], al
mov eax, edx
xor eax, 0xe4
mov dword [esp + 0x1f8], eax
mov eax, edx
xor eax, 0x4c4296a2
mov dword [esp + 0x1f4], eax
mov eax, edx
xor eax, 0x4c4296a1
mov dword [esp + 0x254], eax
mov eax, edx
xor al, 0xfb
mov byte [esp + 0xe9], al
mov eax, edx
xor al, 0x3d
mov byte [esp + 0x89], al
mov eax, edx
xor al, 0x1d
mov byte [esp + 0xe3], al
mov eax, edx
xor al, 0x5e
mov byte [esp + 0xe2], al
mov eax, edx
xor eax, 0x4c4296a0
mov dword [esp + 0x230], eax
mov eax, edx
xor eax, 0x4c4296a7
mov dword [esp + 0x26c], eax
mov eax, edx
xor al, 0x43
mov byte [esp + 0x85], al
mov eax, edx
xor al, 0xc3
mov byte [esp + 0xd7], al
mov eax, edx
xor al, 0xb5
mov byte [esp + 0xd6], al
mov eax, edx
xor eax, 0x4c42a9f5
mov dword [esp + 0x100], eax
mov eax, edx
xor eax, 0xb3bd5613
mov dword [esp + 0x168], eax
mov eax, edx
xor eax, 0x4c4296a6
mov dword [esp + 0x214], eax
mov eax, edx
xor eax, 0xdd89e562
mov dword [esp + 0x264], eax
mov eax, edx
xor al, 0xc6
mov byte [esp + 0x5c], al
mov eax, edx
xor al, 0x46
mov byte [esp + 0xcf], al
mov eax, edx
xor al, 0x33
mov byte [esp + 0xce], al
mov eax, edx
xor eax, 0x4c42a9ce
mov dword [esp + 0x98], eax
mov eax, edx
xor al, 0x15
mov byte [esp + 0xdf], al
mov eax, edx
xor al, 0x3c
mov byte [esp + 0xde], al
mov eax, edx
xor al, 0x6d
mov byte [esp + 0xdd], al
mov ebx, edx
xor ebx, 0x4c42a9cf
mov eax, edx
xor eax, 0xb3bda9eb
mov dword [esp + 0x1c8], eax
mov eax, edx
xor al, 0x3f
mov byte [esp + 0xdc], al
mov eax, edx
xor al, 0x75
mov byte [esp + 0xdb], al
mov eax, edx
xor al, 0x25
mov byte [esp + 0xda], al
mov eax, edx
xor eax, 0x4c4296a9
mov dword [esp + 0x1c4], eax
mov eax, edx
xor eax, 0x4c4296a8
mov dword [esp + 0x274], eax
mov eax, edx
xor eax, 0x4c4296d5
mov dword [esp + 0x258], eax
mov eax, edx
xor eax, 0x4c4296a5
mov dword [esp + 0x1c0], eax
mov eax, edx
xor al, 0x56
mov byte [esp + 0xd9], al
mov eax, edx
xor al, 0x1a
mov byte [esp + 0xd8], al
mov eax, edx
xor eax, 0x4c42a914
mov dword [esp + 0x1b8], eax
mov eax, edx
xor al, 0xaa
mov byte [esp + 0x5f], al
mov eax, edx
xor al, 0x85
mov byte [esp + 0x88], al
mov eax, edx
xor al, 0x13
mov byte [esp + 0x87], al
mov esi, edx
xor esi, 0x4c42a9f0
mov eax, edx
xor eax, 0x4c4249eb
mov dword [esp + 0x23c], eax
mov eax, edx
xor al, 0x22
mov byte [esp + 0xd5], al
mov eax, edx
xor al, 0xfd
mov byte [esp + 0xd4], al
mov eax, edx
xor al, 0xa7
mov byte [esp + 0xd3], al
mov eax, edx
xor eax, 0x4c42abeb
mov dword [esp + 0xbc], eax
mov eax, edx
xor eax, 0x4c4296dd
mov dword [esp + 0x210], eax
mov eax, edx
xor eax, 0xb3bd5414
mov dword [esp + 0x170], eax
mov eax, edx
xor eax, 0x4c4296dc
mov dword [esp + 0x268], eax
mov eax, edx
xor eax, 0x4c4296d3
mov dword [esp + 0x27c], eax
mov eax, edx
xor eax, 0x4c42adeb
mov dword [esp + 0x1d4], eax
mov eax, edx
xor eax, 0x4c4296d2
mov dword [esp + 0x288], eax
mov eax, edx
xor eax, 0x59e3f7ac
mov dword [esp + 0x220], eax
mov eax, edx
xor eax, 0x4c4296d1
mov dword [esp + 0x28c], eax
mov eax, edx
xor eax, 0xb3bd5e14
mov dword [esp + 0x294], eax
mov eax, edx
xor eax, 0xd99b34cf
mov dword [esp + 0x16c], eax
mov eax, edx
xor eax, 0x4c4296d0
mov dword [esp + 0x290], eax
mov eax, edx
xor eax, 0x4c42b9eb
mov dword [esp + 0x29c], eax
mov eax, edx
xor eax, 0x4c4296d7
mov dword [esp + 0x298], eax
mov eax, edx
xor al, 0x66
mov byte [esp + 0xe8], al
mov eax, edx
xor al, 0xef
mov byte [esp + 0xe7], al
mov eax, edx
xor al, 0xb4
mov byte [esp + 0xe6], al
mov eax, edx
xor eax, 0x4c42a9ff
mov dword [esp + 0xb8], eax
mov eax, edx
xor eax, 0x34ed9b2b
mov dword [esp + 0x21c], eax
mov eax, edx
xor eax, 0xcb1264d4
mov dword [esp + 0x218], eax
mov eax, edx
xor eax, 0x4c4222f4
mov dword [esp + 0x22c], eax
mov eax, edx
xor eax, 0x4c4256eb
mov dword [esp + 0x200], eax
mov eax, edx
xor eax, 0x4c4296d6
mov dword [esp + 0x1dc], eax
mov eax, edx
xor al, 0x31
mov byte [esp + 0xc9], al
mov eax, edx
xor al, 0x1f
mov byte [esp + 0xc8], al
mov eax, edx
xor al, 0x4d
mov byte [esp + 0x84], al
mov eax, edx
xor al, 0xd4
mov byte [esp + 0xd2], al
mov eax, edx
xor al, 0xb8
mov byte [esp + 0xe0], al
mov eax, edx
xor eax, 0x4c4296de
mov dword [esp + 0x224], eax
xor edx, 0x4c4296ab
mov dword [esp + 0x228], edx
mov eax, dword [esp + 0xf0]
cmp eax, 2
mov ecx, 1
cmovl eax, ecx
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xb0]
cmp eax, 2
cmovl eax, ecx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x94]
cmp eax, 2
cmovl eax, ecx
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x6c]
cmp eax, 2
cmovl eax, ecx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0xb4]
cmp eax, 2
cmovl eax, ecx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x100]
cmp eax, 2
cmovl eax, ecx
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x98]
cmp eax, 2
cmovl eax, ecx
mov dword [esp + 0x98], eax
cmp ebx, 2
cmovl ebx, ecx
mov eax, dword [esp + 0x1d0]
cmp eax, 2
mov edx, 1
cmovge edx, eax
cmp esi, 2
cmovl esi, ecx
mov eax, dword [esp + 0xb8]
cmp eax, 2
cmovl eax, ecx
mov dword [esp + 0xb8], eax
movzx eax, byte [esp + 0x33]
movd xmm0, eax
mov ecx, dword [esp + 0xf0]
mov eax, ecx
and eax, 0x7fffffe0
mov dword [esp + 0x180], eax
mov eax, ecx
and eax, 0x7ffffff8
mov dword [esp + 0x1e4], eax
mov ecx, dword [esp + 0xb0]
mov eax, ecx
and eax, 0x7fffffe0
mov dword [esp + 0x110], eax
mov eax, ecx
and eax, 0x7ffffff8
mov dword [esp + 0x19c], eax
mov ecx, dword [esp + 0x94]
mov eax, ecx
and eax, 0x7fffffe0
mov dword [esp + 0xf8], eax
mov eax, ecx
and eax, 0x7ffffff8
mov dword [esp + 0x138], eax
mov ecx, dword [esp + 0x6c]
mov eax, ecx
and eax, 0x7fffffe0
mov dword [esp + 0x104], eax
mov eax, ecx
and eax, 0x7ffffff8
mov dword [esp + 0x184], eax
mov ecx, dword [esp + 0xb4]
mov eax, ecx
and eax, 0x7fffffe0
mov dword [esp + 0x10c], eax
mov eax, ecx
and eax, 0x7ffffff8
mov dword [esp + 0x198], eax
mov ecx, dword [esp + 0x100]
mov eax, ecx
and eax, 0x7fffffe0
mov dword [esp + 0x188], eax
mov eax, ecx
and eax, 0x7ffffff8
mov dword [esp + 0x1e8], eax
mov ecx, dword [esp + 0x98]
mov eax, ecx
and eax, 0x7fffffe0
mov dword [esp + 0x17c], eax
and ecx, 0x7ffffff8
mov dword [esp + 0x1e0], ecx
mov eax, ebx
and eax, 0x7fffffe0
mov dword [esp + 0x194], eax
mov dword [esp + 0x140], ebx
and ebx, 0x7ffffff8
mov dword [esp + 0x1f0], ebx
mov eax, edx
and eax, 0x7fffffe0
mov dword [esp + 0x190], eax
mov dword [esp + 0x13c], edx
and edx, 0x7ffffff8
mov dword [esp + 0x1ec], edx
mov eax, esi
and eax, 0x7fffffe0
mov dword [esp + 0x108], eax
mov dword [esp + 0x118], esi
and esi, 0x7ffffff8
mov dword [esp + 0x18c], esi
mov ecx, dword [esp + 0xb8]
mov eax, ecx
and eax, 0x7fffffe0
mov dword [esp + 0x114], eax
and ecx, 0x7ffffff8
mov dword [esp + 0x1a0], ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
movdqu xmmword [esp + 0x2c8], xmm0
pshufd xmm0, xmm0, 0
movdqu xmmword [esp + 0x2b8], xmm0
mov eax, dword [esp + 0x16c]
neg eax
mov dword [esp + 0x280], eax
mov esi, dword [esp + 0x2f4]
mov eax, dword [esi]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x3c]
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x44], eax
mov edx, dword [esi + 0x10]
mov ebx, dword [esi + 4]
mov eax, ecx
mov esi, dword [ecx + 0x40]
lea ecx, [ecx + 0x1c]
mov dword [esp + 0x54], ecx
lea ecx, [eax + 0x534]
mov dword [esp + 0x1b0], ecx
lea ecx, [eax + 0x70]
mov dword [esp + 0x14c], ecx
lea ecx, [eax + 0x58]
mov dword [esp + 0x1ac], ecx
lea ecx, [eax + 0x2f4]
mov dword [esp + 0x148], ecx
lea ecx, [eax + 0x74]
mov dword [esp + 0x144], ecx
lea ecx, [eax + 0x5c]
mov dword [esp + 0x1fc], ecx
mov ecx, dword [esp + 0x2f8]
mov eax, dword [esp + 0x134]
add ecx, eax
mov dword [esp + 0x284], ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x1cc], ebx
mov dword [esp], ebx
mov dword [esp + 0x48], edx
mov dword [esp + 0x60], edx
mov dword [esp + 8], esi
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], ebp
mov eax, dword [eax]
mov ecx, 0xffffc0cc
add eax, ecx
cmp eax, 0x1e
ja case.default.0x687019
mov ebp, 0xfffffffd
mov ecx, 1
jmp dword [eax*4 + 0xab4a1c]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
mov ebp, dword [esp + 0x20]
mov edx, dword [esp + 0xfc]
je 0x687797
mov ebx, dword [esp + 0x50]
cmp dword [esp + 8], ebx
jae 0x687ce7
mov edx, dword [esp]
test edx, edx
je 0x68b446
mov ecx, edx
mov esi, dword [esp + 0x21c]
xor ecx, esi
add ecx, dword [esp + 0x218]
and edx, esi
lea ecx, [ecx + edx*2]
mov dword [esp + 0x14], ecx
mov esi, dword [esp + 4]
movzx edi, byte [esi]
mov edx, dword [esp + 8]
mov ecx, edx
shl edi, cl
inc esi
add dword [esp + 0xc], edi
mov edi, dword [esp + 0x2c]
lea ecx, [edx + edi]
cmp edx, edi
mov edi, dword [esp + 0x2f4]
jae 0x6889a1
cmp dword [esp + 0x14], 0
je 0x68b46a
mov esi, dword [esp + 4]
movzx edx, byte [esi + 1]
shl edx, cl
add dword [esp + 0xc], edx
mov ecx, dword [esp]
add ecx, dword [esp + 0x68]
add esi, 2
mov dword [esp + 4], esi
mov edx, dword [esp + 8]
add edx, ebx
mov dword [esp], ecx
mov dword [esp + 8], edx
jmp 0x6889b0
mov ebx, dword [esp + 8]
cmp ebx, dword [esp + 0x50]
jae 0x687761
mov eax, dword [esp]
test eax, eax
je 0x68b446
dec eax
mov edx, dword [esp + 4]
movzx esi, byte [edx]
mov ecx, ebx
shl esi, cl
inc edx
add dword [esp + 0xc], esi
mov esi, dword [esp + 0x2c]
lea ecx, [ebx + esi]
cmp ebx, esi
mov esi, dword [esp + 0x2f4]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
jae 0x687d85
test eax, eax
je 0x68b460
mov edx, dword [esp + 4]
movzx eax, byte [edx + 1]
shl eax, cl
add dword [esp + 0xc], eax
mov eax, dword [esp]
add eax, dword [esp + 0x68]
add edx, 2
mov dword [esp + 4], edx
mov ecx, ebx
add ecx, dword [esp + 0x50]
jmp 0x687d89
mov eax, dword [esp + 8]
cmp eax, dword [esp + 0x8c]
mov edx, dword [esp + 0xc]
mov edi, dword [esp]
jb 0x6888b7
jmp 0x68925a
mov eax, dword [esp + 8]
cmp eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0xc]
mov edi, dword [esp]
jb 0x689331
jmp 0x6893b8
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
mov ecx, dword [esp + 0x28]
xor ecx, eax
xor ecx, 0xb3bd5214
test ecx, eax
je 0x6877a7
mov eax, dword [esp + 8]
cmp eax, dword [esp + 0x50]
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 4]
jb 0x68949e
jmp 0x68950a
mov ebx, dword [esp + 8]
cmp ebx, dword [esp + 0x8c]
jae 0x687775
mov eax, dword [esp]
test eax, eax
mov ebp, dword [esp + 0xc]
je 0x68b446
mov edi, dword [esp + 4]
movzx edx, byte [edi]
mov ecx, ebx
shl edx, cl
dec eax
add ebp, edx
lea edx, [edi + 1]
cmp ebx, dword [esp + 0x74]
mov edi, dword [esp + 0x2f4]
jae 0x687e45
mov ecx, dword [esp + 0x2c]
add ecx, ebx
test eax, eax
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x50]
je 0x68b45c
mov edi, dword [esp]
mov eax, edi
mov esi, dword [esp + 0x68]
xor eax, esi
mov edx, edi
and edx, esi
mov edi, dword [esp + 4]
movzx esi, byte [edi + 1]
shl esi, cl
lea eax, [eax + edx*2]
add ebp, esi
lea edx, [edi + 2]
mov esi, dword [esp + 8]
cmp esi, ebx
jae 0x688d97
lea ecx, [esi + ebx]
test eax, eax
mov ebx, dword [esp + 0x3c]
je 0x68b45c
mov edx, dword [esp + 4]
movzx eax, byte [edx + 2]
shl eax, cl
mov ecx, dword [esp + 0x9c]
mov edi, dword [esp]
add ecx, edi
add ebp, eax
mov eax, dword [esp + 0x34]
add eax, edx
cmp esi, dword [esp + 0x2c]
jae 0x689d1c
mov edx, dword [esp + 8]
add edx, dword [esp + 0x74]
mov dword [esp + 8], edx
test ecx, ecx
je 0x68b75b
mov edx, edi
add edx, dword [esp + 0xec]
mov esi, dword [esp + 4]
movzx eax, byte [eax]
mov ecx, dword [esp + 8]
shl eax, cl
add esi, ebx
add ebp, eax
mov dword [esp + 4], esi
mov dword [esp], edx
jmp 0x689d23
mov edx, dword [esp + 8]
mov eax, edx
not eax
mov edi, dword [esp + 0x28]
xor edx, edi
mov esi, edx
xor esi, 0xec
mov ecx, dword [esp + 0x168]
and ecx, eax
or ecx, esi
not cl
mov ebp, dword [esp + 0xc]
shr ebp, cl
xor edx, 0xb3bd5613
and eax, dword [esp + 0x90]
or eax, edx
mov ecx, eax
not ecx
mov dword [esp + 8], ecx
cmp dword [esp + 0x8c], ecx
jbe 0x687789
mov edx, dword [esp]
test edx, edx
je 0x68b376
mov ecx, dword [esp + 0x238]
add edx, ecx
mov esi, dword [esp + 4]
movzx edi, byte [esi]
mov ebx, dword [esp + 8]
mov ecx, ebx
shl edi, cl
inc esi
add ebp, edi
mov ecx, dword [esp + 0x2c]
add ecx, ebx
cmp dword [esp + 0x74], ebx
jbe 0x6877b4
test edx, edx
je 0x68b466
mov edx, dword [esp + 0x68]
mov esi, dword [esp]
add edx, esi
mov esi, dword [esp + 4]
movzx edi, byte [esi + 1]
shl edi, cl
add esi, 2
add ebp, edi
mov edi, dword [esp + 0x50]
mov ebx, dword [esp + 8]
lea ecx, [edi + ebx]
cmp edi, ebx
jbe 0x6877b4
test edx, edx
je 0x68b466
mov edx, dword [esp + 0x9c]
mov esi, dword [esp]
add edx, esi
mov edi, dword [esp + 4]
movzx esi, byte [edi + 2]
shl esi, cl
add ebp, esi
mov ecx, dword [esp + 0x34]
add ecx, edi
mov esi, dword [esp + 8]
add esi, dword [esp + 0x74]
mov dword [esp + 8], esi
cmp eax, 0xffffffff
je 0x689f04
mov dword [esp + 4], ecx
jmp 0x6877bc
mov eax, dword [esp + 8]
cmp eax, dword [esp + 0x1b4]
jae 0x68778e
mov eax, dword [esp]
test eax, eax
mov edi, dword [esp + 0x50]
mov ebx, dword [esp + 0xc]
je 0x68b446
dec eax
mov dword [esp + 0x14], eax
mov ebp, dword [esp + 4]
movzx esi, byte [ebp]
mov edx, dword [esp + 8]
mov ecx, edx
shl esi, cl
lea eax, [ebp + 1]
add ebx, esi
mov ecx, dword [esp + 0x2c]
add ecx, edx
cmp edx, dword [esp + 0xa8]
jae 0x687e55
cmp dword [esp + 0x14], 0
je 0x68b738
movzx eax, byte [ebp + 1]
shl eax, cl
mov ecx, eax
xor ecx, ebx
and eax, ebx
lea ebx, [ecx + eax*2]
mov ecx, dword [esp]
add ecx, dword [esp + 0x68]
mov edx, ebp
add edx, 2
mov esi, dword [esp + 8]
add esi, edi
mov dword [esp + 4], edx
mov dword [esp], ecx
mov dword [esp + 8], esi
jmp 0x687e64
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x4c]
mov dword [0xb2f3f0], 0x117b3032
mov ebx, dword [esp + 0x34]
test eax, eax
mov ebp, dword [esp + 0xc]
mov edi, dword [esp]
je 0x6874bb
mov edx, dword [esp + 8]
cmp edx, eax
jae 0x687493
xor esi, esi
cmp edi, esi
je 0x68b2bc
mov ecx, dword [esp + 4]
movzx edi, byte [ecx + esi]
mov ecx, edx
shl edi, cl
add ebp, edi
mov edi, dword [esp]
add edx, dword [esp + 0x2c]
inc esi
cmp edx, eax
jb 0x687460
mov ecx, edi
sub ecx, esi
mov edi, dword [esp + 4]
add edi, esi
mov dword [esp + 4], edi
mov dword [esp], ecx
mov esi, ebp
mov edi, 0xffffffff
mov ecx, eax
shl edi, cl
not edi
and edi, ebp
mov ebx, dword [esp + 0x10]
add dword [ebx + 0x44], edi
shr esi, cl
add dword [ebx + 0x1bc8], eax
sub edx, eax
mov dword [esp + 0xc], esi
mov dword [esp + 8], edx
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0x1bcc], eax
mov eax, dword [esp + 0x254]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x10]
movzx ecx, byte [eax + 0x5c]
mov edx, 0xffffffff
shl edx, cl
mov edi, dword [eax + 0x54]
mov ebx, edx
not ebx
mov eax, dword [esp + 0xc]
mov ecx, eax
not ecx
xor eax, ebx
and ecx, edx
or ecx, eax
not ecx
movzx eax, byte [edi + ecx*4 + 1]
mov ebp, dword [esp + 8]
cmp ebp, eax
jae 0x68767f
xor esi, esi
mov ecx, ebp
cmp dword [esp], esi
je 0x68b283
mov eax, dword [esp + 4]
movzx ebp, byte [eax + esi]
shl ebp, cl
mov eax, dword [esp + 0xc]
add eax, ebp
add ecx, dword [esp + 0x2c]
mov ebp, eax
not ebp
mov dword [esp + 0xc], eax
xor eax, ebx
and ebp, edx
or ebp, eax
not ebp
movzx eax, byte [edi + ebp*4 + 1]
inc esi
cmp ecx, eax
jb 0x68750d
lea edx, [edi + ebp*4]
mov ebx, dword [esp]
sub ebx, esi
mov ebp, dword [esp + 4]
add ebp, esi
mov dword [esp + 4], ebp
mov dword [esp], ebx
mov ebx, ecx
jmp 0x687684
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x4c]
jmp 0x687961
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xc], 0
je 0x688e2f
mov eax, dword [esp + 8]
cmp eax, dword [esp + 0x8c]
mov ebx, dword [esp + 0x28]
jae 0x687cf3
mov eax, dword [esp]
test eax, eax
mov edi, dword [esp + 0x2f4]
mov ebp, dword [esp + 0xc]
je 0x68b446
dec eax
mov edx, dword [esp + 4]
movzx esi, byte [edx]
mov ebx, dword [esp + 8]
mov ecx, ebx
shl esi, cl
inc edx
add ebp, esi
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x2c]
add ecx, ebx
cmp ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x20]
jae 0x687d04
test eax, eax
je 0x68b460
mov eax, dword [esp + 0x68]
mov edx, dword [esp]
add eax, edx
mov edx, dword [esp + 4]
movzx esi, byte [edx + 1]
shl esi, cl
add edx, 2
add dword [esp + 0xc], esi
mov esi, dword [esp + 0x50]
mov ebx, dword [esp + 8]
lea ecx, [ebx + esi]
cmp ebx, esi
jae 0x687d04
test eax, eax
je 0x68b460
mov eax, dword [esp + 0x9c]
mov edx, dword [esp]
add eax, edx
mov edx, dword [esp + 4]
movzx esi, byte [edx + 2]
shl esi, cl
mov ecx, dword [esp + 0x34]
add edx, ecx
add dword [esp + 0xc], esi
mov ecx, dword [esp + 0x74]
mov esi, dword [esp + 8]
add ecx, esi
cmp esi, dword [esp + 0x2c]
jae 0x687d04
test eax, eax
je 0x68b460
movzx eax, byte [edx]
shl eax, cl
add dword [esp + 0xc], eax
mov eax, dword [esp]
add eax, dword [esp + 0xec]
mov ecx, dword [esp + 4]
add ecx, dword [esp + 0x3c]
mov edx, dword [esp + 8]
add edx, dword [esp + 0x8c]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], edx
jmp 0x687d0f
lea edx, [edi + ecx*4]
mov ebx, ebp
movzx esi, word [edx + 2]
mov ch, byte [edx]
cmp ch, byte [esp + 0xe9]
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0x20]
jae 0x68774d
movzx edx, si
mov dword [esp + 0x14], edx
movzx edx, al
movzx ecx, ch
add ecx, edx
mov eax, 0xffffffff
shl eax, cl
mov dword [esp + 0x38], eax
not eax
mov esi, dword [esp + 0xc]
mov dword [esp + 0x64], eax
and esi, eax
mov ecx, edx
shr esi, cl
add esi, dword [esp + 0x14]
movzx eax, byte [edi + esi*4 + 1]
lea ecx, [eax + edx]
cmp ecx, ebx
mov dword [esp + 8], ebx
jbe 0x6878a1
xor ebp, ebp
cmp dword [esp], ebp
je 0x68b283
mov eax, dword [esp + 4]
movzx eax, byte [eax + ebp]
mov ecx, ebx
shl eax, cl
mov esi, dword [esp + 0xc]
add esi, eax
add ebx, dword [esp + 0x2c]
mov eax, esi
xor eax, dword [esp + 0x64]
mov dword [esp + 0xc], esi
not esi
and esi, dword [esp + 0x38]
or esi, eax
not esi
mov ecx, edx
shr esi, cl
add esi, dword [esp + 0x14]
movzx eax, byte [edi + esi*4 + 1]
lea ecx, [eax + edx]
inc ebp
cmp ecx, ebx
ja 0x6876e3
lea edi, [edi + esi*4]
mov ecx, dword [esp]
sub ecx, ebp
mov esi, dword [esp + 4]
add esi, ebp
mov dword [esp + 4], esi
mov dword [esp], ecx
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x20]
jmp 0x6878a4
mov word [esp + 0x14], si
mov esi, dword [esp + 0x10]
mov edi, ebx
mov ebx, dword [esp + 0xc]
jmp 0x6878cb
mov esi, dword [esp + 0x2f4]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
jmp 0x687d8e
mov edi, dword [esp + 0x2f4]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0xc]
jmp 0x689d2e
mov edx, dword [esp]
jmp 0x6877c0
mov ebx, dword [esp + 0xc]
jmp 0x687e64
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x228]
jmp 0x68ab39
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 4]
jmp 0x6894e6
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov edi, dword [esp + 0x28]
mov dword [esp], edx
mov edx, ebp
not edx
mov ecx, edi
xor ecx, ebp
xor ecx, 0x4c425614
mov eax, dword [esp + 0x1c8]
and eax, edx
or eax, ecx
not eax
mov ecx, dword [esp + 0x50]
shr edx, cl
cmp edx, eax
jne 0x68784f
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x44], eax
mov eax, dword [esp + 0x1c4]
mov dword [ecx + 4], eax
mov dword [esp + 8], 0
mov eax, dword [esp + 0xa8]
cmp eax, dword [esp + 0x2f8]
je 0x68b44f
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x274]
mov dword [eax], ecx
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x44]
test esi, esi
mov ebp, dword [esp + 0x20]
jne 0x68ad0c
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
jmp 0x689dfb
mov dword [esp + 0xc], ebp
movzx eax, byte [0xb2f25d]
movzx ebx, byte [esp + 0xdc]
cmp al, bl
mov edx, dword [esp + 0x2f4]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
movzx ecx, byte [esp + 0xdb]
mov ah, byte [esp + 0xda]
je 0x68ac65
mov al, cl
lock cmpxchg byte [0xb2f25d], ah
je 0x688ce5
cmp al, bl
jne 0x687888
jmp 0x68ac65
lea edi, [edi + esi*4]
mov ebx, dword [esp + 0xc]
mov ecx, edx
shr ebx, cl
movzx ecx, word [edi + 2]
mov word [esp + 0x14], cx
mov ch, byte [edi]
mov esi, dword [esp + 0x10]
add dword [esi + 0x1bc8], edx
mov edi, dword [esp + 8]
sub edi, edx
mov edx, dword [esp + 0x28]
mov cl, al
shr ebx, cl
mov dword [esp + 0xc], ebx
movzx eax, al
add dword [esi + 0x1bc8], eax
sub edi, eax
mov dword [esp + 8], edi
movzx eax, ch
test dword [esp + 0x1a8], eax
mov edi, dword [esp + 0x24]
je 0x687937
movzx eax, byte [0xb2f376]
movzx ecx, byte [esp + 0x89]
cmp al, cl
mov ebx, dword [esp + 0xb4]
mov ah, byte [esp + 0xe3]
mov ch, byte [esp + 0xe2]
je 0x68acf9
mov al, ah
lock cmpxchg byte [0xb2f376], ch
je 0x688779
cmp al, cl
jne 0x68791e
jmp 0x68acf9
movzx ecx, word [esp + 0x14]
mov dword [esi + 0x48], ecx
xor edx, eax
not eax
xor edx, 0x4c42a9e4
and eax, dword [esp + 0x120]
or eax, edx
not eax
mov dword [esi + 0x4c], eax
mov ecx, dword [esp + 0x230]
mov dword [esi + 4], ecx
test eax, eax
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0xc]
mov edi, dword [esp]
je 0x6879d5
mov edx, dword [esp + 8]
cmp edx, eax
jae 0x6879ad
xor esi, esi
cmp edi, esi
je 0x68b2bc
mov ecx, dword [esp + 4]
movzx edi, byte [ecx + esi]
mov ecx, edx
shl edi, cl
add ebp, edi
mov edi, dword [esp]
add edx, dword [esp + 0x2c]
inc esi
cmp edx, eax
jb 0x68797a
mov ecx, edi
sub ecx, esi
mov edi, dword [esp + 4]
add edi, esi
mov dword [esp + 4], edi
mov dword [esp], ecx
mov esi, ebp
mov edi, 0xffffffff
mov ecx, eax
shl edi, cl
not edi
and edi, ebp
mov ebx, dword [esp + 0x10]
add dword [ebx + 0x48], edi
shr esi, cl
add dword [ebx + 0x1bc8], eax
sub edx, eax
mov dword [esp + 0xc], esi
mov dword [esp + 8], edx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x26c]
mov dword [eax], ecx
mov edi, dword [esp + 0x48]
test edi, edi
je 0x68b36b
mov eax, edi
neg eax
mov edx, dword [esp + 0x60]
mov ecx, edx
xor ecx, eax
and eax, edx
lea edx, [ecx + eax*2]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x48]
mov eax, ecx
sub eax, edx
jbe 0x687a70
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x30]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
jbe 0x687a7f
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x1bc4], 0
je 0x687a7f
movzx eax, byte [0xb2f39e]
movzx ecx, byte [esp + 0x85]
cmp al, cl
mov esi, dword [esp + 0x2f4]
movzx edx, byte [esp + 0xd7]
mov ah, byte [esp + 0xd6]
je 0x689248
mov al, dl
lock cmpxchg byte [0xb2f39e], ah
je 0x68913f
cmp al, cl
jne 0x687a57
jmp 0x689248
mov ebx, dword [esp + 0x44]
sub ebx, ecx
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x44]
jmp 0x687ab5
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + 0x34]
mov ecx, eax
sub ecx, ebx
jbe 0x687a9a
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x2c]
sub ebx, ecx
add ebx, dword [eax + 0x38]
jmp 0x687aa5
sub ebx, eax
mov ecx, dword [esp + 0x10]
add ebx, dword [ecx + 0x38]
mov ecx, eax
mov edi, dword [esp + 0x48]
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x44]
cmp ecx, ebp
cmovb ebp, ecx
cmp ebp, edi
cmovae ebp, edi
mov eax, dword [esp + 0x10]
sub dword [eax + 0x44], ebp
mov ecx, dword [esp + 0x50]
cmp ebp, ecx
mov dword [esp + 0x1a4], ebp
jb 0x687b1c
mov edi, dword [esp + 0x44]
mov eax, edi
sub eax, ebx
cmp eax, ecx
jb 0x687b24
mov eax, ebp
and eax, dword [esp + 0x120]
mov edx, dword [esp + 0x28]
xor edx, ebp
xor edx, 0xb3bd561b
and edx, ebp
xor ecx, ecx
mov ebp, dword [esp + 0x50]
movdqu xmm0, xmmword [ebx + ecx]
movdqu xmmword [edi + ecx], xmm0
add ecx, ebp
cmp eax, ecx
jne 0x687af9
add edi, eax
cmp dword [esp + 0x1a4], eax
je 0x687cb0
add ebx, eax
jmp 0x687b26
mov edx, ebp
mov edi, dword [esp + 0x44]
jmp 0x687b26
mov edx, ebp
lea ebp, [edx - 1]
mov ecx, edx
and ecx, dword [esp + 0x90]
je 0x687b78
xor esi, esi
cmp ecx, 0x10
mov dword [esp + 0x14], ecx
jb 0x687b7e
mov eax, edi
sub eax, ebx
cmp eax, 0x10
jb 0x687b7e
mov dword [esp + 0x38], ebp
mov esi, ecx
and esi, 0xfffffff0
mov ebp, edi
add edi, esi
lea ecx, [ebx + esi]
xor eax, eax
movdqu xmm0, xmmword [ebx + eax]
movdqu xmmword [ebp + eax], xmm0
add eax, 0x10
cmp esi, eax
jne 0x687b5a
cmp dword [esp + 0x14], esi
mov ebp, dword [esp + 0x38]
jne 0x687b80
jmp 0x687b90
mov dword [esp + 0x44], edi
jmp 0x687b9a
mov ecx, ebx
mov eax, dword [esp + 0x14]
sub eax, esi
movzx ebx, byte [ecx]
inc ecx
mov byte [edi], bl
inc edi
dec eax
jne 0x687b86
sub edx, dword [esp + 0x14]
mov dword [esp + 0x44], edi
mov ebx, ecx
cmp ebp, dword [esp + 0x90]
mov ebp, dword [esp + 0x20]
jb 0x687cb8
mov esi, dword [esp + 0x90]
lea ecx, [edi + esi]
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0xa8]
lea ecx, [edi + eax]
mov dword [esp + 0x38], ecx
mov ebp, dword [esp + 0x130]
lea ecx, [edi + ebp]
mov dword [esp + 0x44], ecx
mov eax, dword [esp + 0x3c]
lea ecx, [edi + eax]
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x34]
lea ecx, [edi + ecx]
mov dword [esp + 0xa4], ecx
lea eax, [ebx + esi]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xa8]
lea eax, [ebx + eax]
mov dword [esp + 0x7c], eax
lea eax, [ebx + ebp]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x3c]
add eax, ebx
mov dword [esp + 0x178], eax
mov eax, dword [esp + 0x34]
add eax, ebx
mov dword [esp + 0x174], eax
xor ecx, ecx
mov ebp, dword [esp + 0x168]
movzx eax, byte [ebx + ecx]
mov byte [edi + ecx], al
movzx eax, byte [ebx + ecx + 1]
mov byte [edi + ecx + 1], al
movzx eax, byte [ebx + ecx + 2]
mov byte [edi + ecx + 2], al
mov eax, dword [esp + 0x174]
movzx eax, byte [eax + ecx]
mov esi, dword [esp + 0xa4]
mov byte [esi + ecx], al
mov eax, dword [esp + 0x178]
movzx eax, byte [eax + ecx]
mov esi, dword [esp + 0x64]
mov byte [esi + ecx], al
mov eax, dword [esp + 0xf4]
movzx eax, byte [eax + ecx]
mov esi, dword [esp + 0x44]
mov byte [esi + ecx], al
mov eax, dword [esp + 0x7c]
movzx eax, byte [eax + ecx]
mov esi, dword [esp + 0x38]
mov byte [esi + ecx], al
mov eax, dword [esp + 0xc0]
movzx eax, byte [eax + ecx]
mov esi, dword [esp + 0x14]
mov byte [esi + ecx], al
add ecx, dword [esp + 0x2c]
add edx, ebp
jne 0x687c33
add edi, ecx
mov dword [esp + 0x44], edi
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x1a4]
sub dword [esp + 0x48], eax
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x44], 0
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
jne 0x686ff5
mov ecx, dword [esp + 0x15c]
mov dword [eax], ecx
jmp 0x686ff5
mov edi, dword [esp + 0x2f4]
jmp 0x6889b7
mov edi, dword [esp + 0x2f4]
mov ebp, dword [esp + 0x20]
mov edx, dword [esp + 0x60]
jmp 0x687d17
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x28]
mov esi, edx
sub esi, dword [esp + 0x48]
add dword [edi + 0x14], esi
mov eax, dword [esp + 0x10]
add dword [eax + 0x20], esi
mov ecx, dword [esp + 0x3c]
test dword [eax + 0xc], ecx
je 0x688de6
cmp edx, dword [esp + 0x48]
je 0x688de6
mov edi, dword [esp + 0x44]
sub edi, esi
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x14], 0
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x14], eax
je 0x688da3
mov eax, dword [0xb2f438]
mov ebx, dword [0xb2f424]
xor ebx, dword [esp + 0x58]
sub ebx, dword [esp + 0x70]
add ebx, eax
mov ecx, ebx
call dword [0xb0836c]
mov ecx, dword [esp + 0x14]
mov edx, edi
push dword [esp + 0x78]
jmp 0x688dcc
mov dword [esp + 4], edx
mov dword [esp], eax
mov ebx, ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [eax + 0x14], ecx
mov eax, ecx
and eax, dword [esp + 0x1b8]
cmp eax, dword [esp + 0x2c]
jne 0x687dff
test dword [esp + 0x23c], ecx
je 0x688816
mov dword [esp + 8], ebx
movzx eax, byte [0xb2f1f9]
movzx ebx, byte [esp + 0xd5]
cmp al, bl
mov edx, dword [esp + 0xb0]
movzx ecx, byte [esp + 0xd4]
mov ah, byte [esp + 0xd3]
je 0x68ac15
mov al, cl
lock cmpxchg byte [0xb2f1f9], ah
je 0x689baa
cmp al, bl
jne 0x687de6
jmp 0x68ac15
mov dword [esp + 8], ebx
movzx eax, byte [0xb2f1bb]
mov dh, byte [esp + 0x5f]
cmp al, dh
movzx ecx, byte [esp + 0x88]
mov dl, byte [esp + 0x87]
mov ebx, dword [esp + 0x118]
je 0x68abe5
mov eax, ecx
lock cmpxchg byte [0xb2f1bb], dl
je 0x688b5a
cmp al, dh
jne 0x687e2c
jmp 0x68abe5
mov dword [esp + 4], edx
mov dword [esp], eax
mov eax, dword [esp + 0x18]
jmp 0x689d2e
mov dword [esp + 4], eax
mov eax, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 8], ecx
mov eax, ebx
xor eax, dword [esp + 0x12c]
and eax, dword [esp + 0x160]
mov edx, ebx
mov ecx, dword [esp + 0x130]
shr edx, cl
not eax
and eax, ebx
mov esi, ebx
mov ecx, dword [esp + 0x260]
shr esi, cl
mov ecx, dword [esp + 0x1b4]
shr ebx, cl
mov dword [esp + 0xc], ebx
mov ecx, dword [esp + 0x1bc]
add ecx, eax
mov ebp, dword [esp + 0x10]
mov dword [ebp + 0x64], ecx
mov edi, edx
not edi
mov ebx, dword [esp + 0x12c]
and ebx, edi
mov ecx, edx
and ecx, dword [esp + 0x160]
or ecx, ebx
xor edi, dword [esp + 0x160]
and edx, dword [esp + 0x12c]
or edx, edi
not ecx
and ecx, edx
lea edx, [ecx + 1]
mov dword [ebp + 0x68], edx
and esi, dword [esp + 0x11c]
add esi, dword [esp + 0x3c]
mov dword [ebp + 0x60], esi
mov edx, dword [esp + 8]
add edx, dword [esp + 0x25c]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x1d0]
cmp eax, edx
ja 0x68804b
mov eax, edx
cmp ecx, edx
ja 0x68804b
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x6c], 0
mov eax, dword [esp + 0x240]
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x6c]
cmp eax, dword [ecx + 0x60]
mov ecx, dword [esp + 0xc4]
jae 0x688006
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 8]
jmp 0x687fc5
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 0x28]
xor ecx, edi
xor ecx, 0xffffa9ec
mov esi, edi
not esi
and esi, dword [esp + 0x2b0]
or esi, ecx
not esi
lea edx, [eax + 1]
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x6c], edx
movzx eax, word [eax + eax + 0xab3ee0]
mov word [ecx + eax*2 + 0x74], si
add ebx, dword [esp + 0x2a8]
mov ecx, dword [esp + 0x34]
mov esi, ecx
shr edi, cl
mov dword [esp + 0xc], edi
mov eax, dword [esp + 0x2a4]
mov ecx, dword [esp + 0x2ac]
xor eax, ecx
and eax, ebx
xor eax, ecx
and ebx, ecx
lea ebx, [eax + ebx*2]
mov eax, edx
mov ecx, dword [esp + 0x10]
cmp edx, dword [ecx + 0x60]
mov ecx, dword [esp + 0xc4]
jae 0x688010
mov dword [esp + 8], ebx
cmp ebx, esi
jae 0x687f4d
mov ecx, dword [esp]
test ecx, ecx
je 0x68b446
dec ecx
mov dword [esp], ecx
mov ecx, dword [esp + 4]
movzx edx, byte [ecx]
inc ecx
mov dword [esp + 4], ecx
mov ebx, dword [esp + 8]
mov ecx, ebx
shl edx, cl
mov ecx, edx
mov esi, dword [esp + 0xc]
xor ecx, esi
and edx, esi
lea edi, [ecx + edx*2]
add ebx, dword [esp + 0x2c]
jmp 0x687f55
mov edx, eax
mov ebp, dword [esp + 0x20]
mov ebx, dword [esp + 8]
mov dword [esp + 8], ebx
cmp edx, ecx
mov edi, dword [esp + 0x24]
jae 0x688114
mov eax, dword [esp + 0x34]
mov ecx, eax
sub ecx, edx
and ecx, eax
je 0x688099
mov esi, edx
mov ebx, dword [esp + 0x10]
lea eax, [esi + 1]
movzx esi, word [esi + esi + 0xab3ee0]
mov word [ebx + esi*2 + 0x74], 0
mov esi, eax
dec ecx
jne 0x688032
jmp 0x68809b
movzx eax, byte [0xb2f284]
movzx ebx, byte [esp + 0xdf]
cmp al, bl
mov edx, dword [esp + 0x2f4]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
movzx ecx, byte [esp + 0xde]
mov ah, byte [esp + 0xdd]
je 0x68ac92
mov al, cl
lock cmpxchg byte [0xb2f284], ah
je 0x688c33
cmp al, bl
jne 0x688080
jmp 0x68ac92
mov eax, edx
add edx, dword [esp + 0x120]
mov ebx, dword [esp + 0x34]
cmp edx, ebx
jb 0x68810d
movzx ecx, word [eax + eax + 0xab3ee0]
mov esi, dword [esp + 0x10]
mov word [esi + ecx*2 + 0x74], 0
movzx ecx, word [eax + eax + 0xab3ee2]
mov word [esi + ecx*2 + 0x74], 0
lea ecx, [eax + ebx]
mov dword [esp + 0x14], ecx
movzx edx, word [eax + eax + 0xab3ee4]
mov word [esi + edx*2 + 0x74], 0
mov edx, eax
mov ecx, dword [esp + 0x3c]
xor edx, ecx
and eax, ecx
lea eax, [edx + eax*2]
mov ecx, dword [esp + 0x14]
movzx ecx, word [ecx + ecx + 0xab3ee0]
mov word [esi + ecx*2 + 0x74], 0
mov ecx, dword [esp + 0xc4]
cmp eax, ecx
jne 0x6880aa
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x6c], eax
mov eax, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x70], eax
mov dword [ecx + 0x50], eax
mov eax, dword [esp + 0x90]
mov dword [ecx + 0x58], eax
mov eax, dword [0xb2f434]
mov ebx, dword [0xb2f410]
add ebx, dword [esp + 0xa0]
add ebx, eax
mov ecx, ebx
call dword [0xb0836c]
xor ecx, ecx
mov edx, dword [esp + 0x144]
push dword [esp + 0x150]
push dword [esp + 0x14c]
push dword [esp + 0x1b4]
push dword [esp + 0x158]
push dword [esp + 0xd4]
call ebx
add esp, 0x14
test eax, eax
je 0x6881c8
mov ecx, eax
movzx eax, byte [0xb2f2a9]
movzx ebx, byte [esp + 0x8a]
cmp al, bl
mov esi, dword [esp + 0x2f4]
movzx edx, byte [esp + 0xe5]
mov ah, byte [esp + 0xe4]
je 0x68875f
mov al, dl
lock cmpxchg byte [0xb2f2a9], ah
je 0x688690
cmp al, bl
jne 0x6881af
jmp 0x68875f
mov dword [esp + 0x1c], 0
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x6c], 0
mov eax, dword [esp + 0x234]
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 0x68]
mov eax, dword [edx + 0x6c]
add ecx, dword [edx + 0x64]
cmp eax, ecx
jae 0x68858b
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x64], eax
mov ebx, dword [esp + 8]
mov ecx, dword [esp]
mov eax, dword [esp + 4]
mov dword [esp + 0x14], eax
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x50]
movzx ecx, byte [eax + 0x58]
mov edi, 0xffffffff
shl edi, cl
not edi
mov esi, dword [esp + 0xc]
and esi, edi
movzx eax, byte [edx + esi*4 + 1]
cmp ebx, eax
jae 0x68827f
xor ebp, ebp
mov ecx, ebx
cmp dword [esp + 0x38], ebp
je 0x68b296
mov eax, dword [esp + 0x14]
movzx eax, byte [eax + ebp]
shl eax, cl
mov esi, dword [esp + 0xc]
add esi, eax
add ecx, dword [esp + 0x2c]
mov dword [esp + 0xc], esi
and esi, edi
movzx eax, byte [edx + esi*4 + 1]
inc ebp
cmp ecx, eax
jb 0x688243
sub dword [esp + 0x38], ebp
add dword [esp + 0x14], ebp
mov ebx, ecx
mov ebp, dword [esp + 0x20]
movzx edx, word [edx + esi*4 + 2]
movzx ecx, al
cmp dx, word [esp + 0x270]
mov edi, dword [esp + 0x24]
jae 0x6882bf
shr dword [esp + 0xc], cl
sub ebx, ecx
mov dword [esp + 8], ebx
mov ecx, dword [esp + 0x64]
lea eax, [ecx + 1]
mov esi, dword [esp + 0x10]
mov dword [esi + 0x6c], eax
mov word [esi + ecx*2 + 0x74], dx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x38]
jmp 0x688565
movzx eax, dx
cmp eax, 0x10
mov dword [esp + 0x7c], ecx
je 0x688328
cmp eax, 0x11
mov ebp, dword [esp + 0xc]
mov edi, dword [esp + 0x38]
jne 0x68838b
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x7c]
add eax, edx
mov dword [esp], eax
cmp ebx, eax
jae 0x688411
mov edx, ebx
mov eax, dword [esp + 0x14]
mov dword [esp + 4], eax
sub edi, 1
jb 0x68b2ef
mov eax, edi
mov edi, dword [esp + 4]
movzx esi, byte [edi]
mov ecx, edx
shl esi, cl
inc edi
mov dword [esp + 4], edi
mov edi, eax
add ebp, esi
add edx, dword [esp + 0x2c]
cmp edx, dword [esp]
jb 0x6882fb
jmp 0x68841b
lea eax, [ecx + 2]
mov dword [esp + 0xc0], eax
cmp ebx, eax
mov ebp, dword [esp + 0xc]
mov ecx, dword [esp + 0x38]
jae 0x688455
mov eax, ebx
mov edx, dword [esp + 0x14]
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
sub ecx, 1
jb 0x68b2ef
mov dword [esp], ecx
mov edi, dword [esp + 4]
movzx edx, byte [edi]
mov ebx, eax
mov ecx, ebx
shl edx, cl
inc edi
mov dword [esp + 4], edi
mov ecx, dword [esp]
add ebp, edx
add ebx, dword [esp + 0x2c]
mov eax, ebx
cmp ebx, dword [esp + 0xc0]
mov ebx, dword [esp + 8]
jb 0x688350
jmp 0x68845f
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x7c]
add eax, edx
mov dword [esp], eax
cmp ebx, eax
jae 0x6883c9
test edi, edi
je 0x68b3bc
mov eax, dword [esp + 0x14]
movzx edx, byte [eax]
mov ecx, ebx
shl edx, cl
add ebp, edx
inc eax
mov dword [esp + 0x14], eax
add ebx, dword [esp + 0x2c]
add edi, dword [esp + 0x278]
cmp ebx, dword [esp]
jb 0x68839f
mov edx, edi
mov ecx, dword [esp + 0x7c]
shr ebp, cl
mov eax, dword [esp + 0x204]
sub eax, ecx
mov edi, ebp
and edi, dword [esp + 0x20c]
add edi, dword [esp + 0x208]
mov ecx, dword [esp + 0x90]
shr ebp, cl
add ebx, eax
mov dword [esp + 8], ebx
mov dword [esp + 0x38], 0
mov eax, dword [esp + 0x14]
mov dword [esp + 4], eax
mov dword [esp], edx
jmp 0x688498
mov eax, dword [esp + 0x14]
mov dword [esp + 4], eax
mov edx, ebx
mov dword [esp], edi
mov ebx, dword [esp + 0x7c]
mov ecx, ebx
shr ebp, cl
mov edi, dword [esp + 0x28]
xor edi, ebp
xor edi, 0xb3bd5613
and edi, ebp
mov ecx, dword [esp + 0x34]
shr ebp, cl
mov eax, dword [esp + 0x9c]
sub eax, ebx
add eax, edx
mov dword [esp + 8], eax
add edi, ecx
mov dword [esp + 0x38], 0
jmp 0x688498
mov eax, dword [esp + 0x14]
mov dword [esp + 4], eax
mov eax, ebx
mov dword [esp], ecx
mov ecx, dword [esp + 0x7c]
shr ebp, cl
sub eax, ecx
mov ecx, dword [esp + 0x64]
test ecx, ecx
je 0x68a88e
mov edx, dword [esp + 0x10]
movzx ecx, word [edx + ecx*2 + 0x72]
mov dword [esp + 0x38], ecx
mov edi, ebp
mov ecx, dword [esp + 0x34]
and edi, ecx
add edi, ecx
shr ebp, 2
add eax, dword [esp + 0x68]
mov dword [esp + 8], eax
mov eax, edi
mov ebx, dword [esp + 0x244]
sub eax, ebx
mov edx, eax
mov ecx, dword [esp + 0x64]
xor edx, ecx
and eax, ecx
add edx, ebx
lea eax, [edx + eax*2]
cmp eax, dword [esp + 0xa4]
mov dword [esp + 0xc], ebp
ja 0x68a63c
lea esi, [edi - 1]
mov edx, edi
mov eax, dword [esp + 0x34]
and edx, eax
mov ecx, dword [esp + 0x38]
je 0x6884f9
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x10]
mov esi, edx
mov ebx, dword [eax + 0x6c]
lea ebp, [ebx + 1]
mov dword [eax + 0x6c], ebp
mov word [eax + ebx*2 + 0x74], cx
dec esi
jne 0x6884de
sub edi, edx
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x14]
cmp esi, eax
mov ebp, dword [esp + 0x20]
jb 0x688552
mov ebx, dword [esp + 0xec]
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0x6c]
mov dword [0xb2f3f0], 0x1cef1241
lea edx, [eax + 1]
mov dword [esi + 0x6c], edx
mov word [esi + eax*2 + 0x74], cx
mov eax, dword [esi + 0x6c]
lea edx, [eax + 1]
mov dword [esi + 0x6c], edx
mov word [esi + eax*2 + 0x74], cx
mov eax, dword [esi + 0x6c]
lea edx, [eax + 1]
mov dword [esi + 0x6c], edx
mov word [esi + eax*2 + 0x74], cx
mov eax, dword [esi + 0x6c]
lea edx, [eax + 1]
mov dword [esi + 0x6c], edx
mov word [esi + eax*2 + 0x74], cx
add edi, ebx
jne 0x688508
mov eax, dword [esp + 4]
mov dword [esp + 0x14], eax
mov ecx, dword [esp]
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov ebx, dword [esi + 0x68]
mov edx, dword [esi + 0x6c]
add ebx, dword [esi + 0x64]
mov dword [esp + 0x64], edx
mov dword [esp + 0xa4], ebx
cmp edx, ebx
mov ebx, dword [esp + 8]
jb 0x688218
jmp 0x6885a6
mov eax, dword [esp + 4]
mov dword [esp + 0x14], eax
mov ecx, dword [esp]
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov dword [esp + 4], edx
mov dword [esp + 0x38], ecx
mov dword [esp], ecx
mov dword [esp + 8], ebx
mov ecx, dword [esp + 0x40]
cmp dword [eax], ecx
je 0x686ff5
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x10]
cmp word [ecx + eax*2 + 0x74], 0
je 0x688b1e
mov eax, dword [esp + 0x1b0]
mov esi, dword [esp + 0x10]
mov dword [esi + 0x70], eax
mov dword [esi + 0x50], eax
mov eax, dword [esp + 0x164]
mov dword [esi + 0x58], eax
mov eax, dword [esi + 0x64]
mov dword [esp], eax
mov eax, dword [0xb2f434]
mov esi, dword [0xb2f410]
xor esi, dword [esp + 0x58]
sub esi, dword [esp + 0x70]
add esi, eax
mov ecx, esi
call dword [0xb0836c]
mov ecx, 1
mov edx, dword [esp + 0x144]
push dword [esp + 0x150]
push dword [esp + 0x14c]
push dword [esp + 0x1b4]
push dword [esp + 0x158]
push dword [esp + 0x10]
call esi
add esp, 0x14
test eax, eax
je 0x68907e
mov dword [esp + 0x1c], eax
movzx eax, byte [0xb2f31c]
movzx edx, byte [esp + 0x5d]
cmp al, dl
movzx ecx, byte [esp + 0x33]
mov ah, byte [esp + 0xd0]
je 0x68a02d
mov al, cl
lock cmpxchg byte [0xb2f31c], ah
je 0x689f59
cmp al, dl
jne 0x688677
jmp 0x68a02d
mov dword [esp + 0x14], ecx
xor edx, edx
mov ecx, dword [esp + 0xb0]
cmp ecx, 8
jb 0x688741
xor eax, eax
cmp ecx, 0x20
jb 0x688708
xor eax, eax
mov ecx, dword [esp + 0x110]
movdqa xmm0, xmmword [eax + 0xab48a0]
movdqa xmm1, xmmword [eax + 0xab48b0]
pxor xmm0, xmmword [eax + 0xb2f290]
pxor xmm1, xmmword [eax + 0xb2f2a0]
movdqa xmmword [eax + 0xb2f290], xmm0
movdqa xmmword [eax + 0xb2f2a0], xmm1
add eax, 0x20
cmp ecx, eax
jne 0x6886b6
mov eax, ecx
mov ecx, dword [esp + 0xb0]
cmp ecx, eax
je 0x688753
mov edx, dword [esp + 0x110]
mov eax, edx
test cl, 0x18
je 0x688741
mov ecx, dword [esp + 0x19c]
movq xmm0, qword [eax + 0xb2f290]
movq xmm1, qword [eax + 0xab48a0]
pxor xmm1, xmm0
movq qword [eax + 0xb2f290], xmm1
add eax, 8
cmp ecx, eax
jne 0x68870f
mov edx, ecx
mov eax, ecx
mov ecx, dword [esp + 0xb0]
cmp ecx, eax
je 0x688753
movzx eax, byte [edx + 0xab48a0]
xor byte [edx + 0xb2f290], al
inc edx
cmp ecx, edx
jne 0x688741
mov eax, ebx
xchg byte [0xb2f2a9], al
mov ecx, dword [esp + 0x14]
mov dword [esi + 0x18], 0xb2f290
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x40]
mov dword [eax], edx
mov dword [esp + 0x1c], ecx
jmp 0x686ff5
xor ecx, ecx
cmp ebx, 8
jb 0x68acd9
xor eax, eax
cmp ebx, 0x20
jb 0x6887e5
xor eax, eax
mov ecx, dword [esp + 0x10c]
movdqa xmm0, xmmword [eax + 0xab4970]
movdqa xmm1, xmmword [eax + 0xab4980]
paddb xmm0, xmmword [eax + 0xb2f360]
paddb xmm1, xmmword [eax + 0xb2f370]
movdqa xmmword [eax + 0xb2f360], xmm0
movdqa xmmword [eax + 0xb2f370], xmm1
add eax, 0x20
cmp ecx, eax
jne 0x688794
cmp ebx, ecx
je 0x68aceb
mov ecx, dword [esp + 0x10c]
mov eax, ecx
test bl, 0x18
je 0x68acd9
mov ecx, dword [esp + 0x198]
movq xmm0, qword [eax + 0xb2f360]
movq xmm1, qword [eax + 0xab4970]
paddb xmm1, xmm0
movq qword [eax + 0xb2f360], xmm1
add eax, 8
cmp ecx, eax
jne 0x6887ec
mov eax, ecx
jmp 0x68ace7
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x24]
test eax, eax
mov ebp, dword [esp + 0xc]
je 0x688833
xor ecx, ecx
mov edx, dword [esp + 0x2c]
bt ebp, edx
setb cl
mov dword [eax], ecx
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0x10]
test dword [ecx + 0x14], eax
mov edi, dword [esp]
je 0x6888a6
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x10]
test dword [ecx + 0xc], eax
je 0x6888a6
mov eax, ebp
mov ecx, dword [esp + 0x2c]
shr eax, cl
mov ecx, ebp
mov byte [esp + 0x2d8], cl
mov byte [esp + 0x2d9], al
mov ebp, dword [esp + 0x54]
mov esi, dword [ebp]
mov eax, dword [0xb2f438]
mov ebx, dword [0xb2f424]
xor ebx, dword [esp + 0x58]
sub ebx, dword [esp + 0x70]
add ebx, eax
mov ecx, ebx
call dword [0xb0836c]
lea edx, [esp + 0x2d8]
mov ecx, esi
push dword [esp + 0x78]
push 2
call ebx
add esp, 8
mov dword [ebp], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x210]
mov dword [eax], ecx
xor eax, eax
xor edx, edx
mov dword [esp + 8], eax
test edi, edi
je 0x68b442
mov ebx, dword [esp + 4]
movzx eax, byte [ebx]
mov ebp, dword [esp + 8]
mov ecx, ebp
shl eax, cl
mov ecx, eax
xor ecx, edx
and eax, edx
mov edx, dword [esp + 0x248]
mov dword [esp], edi
add edi, edx
lea edx, [ecx + eax*2]
lea eax, [ebx + 1]
cmp ebp, dword [esp + 0x74]
jae 0x688998
mov ecx, dword [esp + 0x2c]
add ecx, ebp
test edi, edi
je 0x68b72f
mov edi, dword [esp + 4]
movzx ebx, byte [edi + 1]
shl ebx, cl
mov eax, dword [esp + 0x68]
mov ecx, dword [esp]
add eax, ecx
add edx, ebx
add edi, 2
mov ecx, dword [esp + 0x50]
cmp ebp, ecx
jae 0x68898f
add ecx, ebp
test eax, eax
je 0x68b741
mov edi, dword [esp + 4]
movzx ebx, byte [edi + 2]
shl ebx, cl
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp]
add eax, ecx
add edx, ebx
mov ecx, dword [esp + 0x34]
add ecx, edi
cmp ebp, dword [esp + 0x2c]
jae 0x689254
add ebp, dword [esp + 0x74]
test eax, eax
je 0x68b74e
mov ecx, dword [esp + 0x34]
mov eax, ecx
mov esi, dword [esp + 0xec]
xor eax, esi
mov edi, dword [esp]
and eax, edi
xor eax, esi
mov ebx, edi
and ebx, esi
mov edi, dword [esp + 4]
movzx esi, byte [edi + ecx]
mov ecx, ebp
shl esi, cl
lea eax, [eax + ebx*2]
add edx, esi
add edi, dword [esp + 0x3c]
mov dword [esp + 4], edi
jmp 0x689258
mov dword [esp + 4], eax
jmp 0x68925a
mov dword [esp + 4], esi
mov edx, dword [esp + 0x14]
mov dword [esp], edx
mov dword [esp + 8], ecx
mov edx, dword [esp + 0xfc]
test al, 2
movzx ebx, byte [esp + 0xe0]
je 0x688a9c
mov eax, dword [esp + 0xc]
cmp eax, dword [esp + 0x22c]
jne 0x688a9c
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x28], 0
jne 0x6889f0
mov eax, dword [esp + 0x11c]
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x28], eax
mov eax, dword [0xb2f438]
mov ebx, dword [0xb2f424]
add ebx, dword [esp + 0xa0]
add ebx, eax
mov ecx, ebx
call dword [0xb0836c]
xor ecx, ecx
xor edx, edx
mov edi, dword [esp + 0x78]
push edi
push 0
call ebx
add esp, 8
mov esi, eax
mov ecx, dword [esp + 0x54]
mov dword [ecx], eax
movzx eax, byte [esp + 0x8a]
mov byte [esp + 0x2d8], al
movzx eax, byte [esp + 0x86]
mov byte [esp + 0x2d9], al
mov eax, dword [0xb2f438]
mov ebx, dword [0xb2f424]
xor ebx, dword [esp + 0x58]
sub ebx, dword [esp + 0x70]
add ebx, eax
mov ecx, ebx
call dword [0xb0836c]
lea edx, [esp + 0x2d8]
mov ecx, esi
push edi
push 2
call ebx
add esp, 8
mov ecx, dword [esp + 0x54]
mov dword [ecx], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x224]
mov dword [eax], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov edi, dword [esp + 0x24]
jmp 0x686ff5
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x24]
test eax, eax
je 0x688aae
mov dword [eax + 0x30], 0xffffffff
mov eax, dword [esp + 0x10]
test byte [eax + 0xc], 1
je 0x688ae7
mov eax, dword [esp + 0xc]
mov edx, eax
mov ecx, dword [esp + 0x2c]
shl edx, cl
shr eax, cl
and edx, dword [esp + 0x200]
add eax, edx
xor edx, edx
div dword [esp + 0x12c]
test edx, edx
mov edx, dword [esp + 0xfc]
je 0x689c7f
movzx eax, byte [0xb2f197]
movzx ecx, byte [esp + 0x84]
cmp al, cl
mov ah, byte [esp + 0xd2]
je 0x689c73
mov al, ah
lock cmpxchg byte [0xb2f197], bl
je 0x689c47
cmp al, cl
jne 0x688b05
jmp 0x689c73
movzx eax, byte [0xb2f2f5]
movzx edx, byte [esp + 0x5c]
cmp al, dl
movzx ecx, byte [esp + 0xcf]
mov ah, byte [esp + 0xce]
je 0x68a126
mov al, cl
lock cmpxchg byte [0xb2f2f5], ah
je 0x68a040
cmp al, dl
jne 0x688b41
jmp 0x68a126
xor eax, eax
cmp ebx, 8
jb 0x68abbb
xor ecx, ecx
cmp ebx, 0x20
jb 0x688bf2
xor eax, eax
mov ecx, dword [esp + 0x108]
movdqa xmm2, xmmword [eax + 0xb2f1a0]
movdqa xmm3, xmmword [eax + 0xb2f1b0]
movdqa xmm0, xmmword [eax + 0xab47b0]
movdqa xmm1, xmmword [eax + 0xab47c0]
movdqa xmm4, xmm0
pxor xmm4, xmm2
movdqa xmm5, xmm1
pxor xmm5, xmm3
pand xmm0, xmm2
pand xmm1, xmm3
paddb xmm0, xmm0
paddb xmm0, xmm4
paddb xmm1, xmm1
paddb xmm1, xmm5
movdqa xmmword [eax + 0xb2f1a0], xmm0
movdqa xmmword [eax + 0xb2f1b0], xmm1
add eax, 0x20
cmp ecx, eax
jne 0x688b79
cmp ebx, ecx
je 0x68abdd
mov eax, dword [esp + 0x108]
mov ecx, eax
test bl, 0x18
je 0x68abbb
mov eax, dword [esp + 0x18c]
movq xmm0, qword [ecx + 0xb2f1a0]
movq xmm1, qword [ecx + 0xab47b0]
movdqa xmm2, xmm1
pxor xmm2, xmm0
pand xmm1, xmm0
paddb xmm1, xmm1
paddb xmm1, xmm2
movq qword [ecx + 0xb2f1a0], xmm1
add ecx, 8
cmp eax, ecx
jne 0x688bf9
mov ecx, eax
jmp 0x68abd9
xor ecx, ecx
mov edx, dword [esp + 0x140]
cmp edx, 8
jb 0x68ac71
xor eax, eax
cmp edx, 0x20
jb 0x688cad
xor eax, eax
mov ecx, dword [esp + 0x194]
movdqa xmm0, xmmword [eax + 0xab4870]
movdqa xmm1, xmmword [eax + 0xab4880]
pxor xmm0, xmmword [eax + 0xb2f260]
pxor xmm1, xmmword [eax + 0xb2f270]
movdqa xmmword [eax + 0xb2f260], xmm0
movdqa xmmword [eax + 0xb2f270], xmm1
add eax, 0x20
cmp ecx, eax
jne 0x688c55
mov edx, dword [esp + 0x140]
cmp edx, ecx
je 0x68ac83
mov ecx, dword [esp + 0x194]
mov eax, ecx
test dl, 0x18
je 0x68ac71
mov ecx, dword [esp + 0x1f0]
movq xmm0, qword [eax + 0xb2f260]
movq xmm1, qword [eax + 0xab4870]
pxor xmm1, xmm0
movq qword [eax + 0xb2f260], xmm1
add eax, 8
cmp ecx, eax
jne 0x688cb4
mov eax, ecx
mov edx, dword [esp + 0x140]
jmp 0x68ac7f
xor ecx, ecx
mov edx, dword [esp + 0x13c]
cmp edx, 8
jb 0x68ac44
xor eax, eax
cmp edx, 0x20
jb 0x688d5f
xor eax, eax
mov ecx, dword [esp + 0x190]
movdqa xmm0, xmmword [eax + 0xab4850]
movdqa xmm1, xmmword [eax + 0xab4860]
pxor xmm0, xmmword [eax + 0xb2f240]
pxor xmm1, xmmword [eax + 0xb2f250]
movdqa xmmword [eax + 0xb2f240], xmm0
movdqa xmmword [eax + 0xb2f250], xmm1
add eax, 0x20
cmp ecx, eax
jne 0x688d07
mov edx, dword [esp + 0x13c]
cmp edx, ecx
je 0x68ac56
mov ecx, dword [esp + 0x190]
mov eax, ecx
test dl, 0x18
je 0x68ac44
mov ecx, dword [esp + 0x1ec]
movq xmm0, qword [eax + 0xb2f240]
movq xmm1, qword [eax + 0xab4850]
pxor xmm1, xmm0
movq qword [eax + 0xb2f240], xmm1
add eax, 8
cmp ecx, eax
jne 0x688d66
mov eax, ecx
mov edx, dword [esp + 0x13c]
jmp 0x68ac52
mov dword [esp + 4], edx
mov dword [esp], eax
jmp 0x689d23
mov eax, dword [0xb2f430]
mov ebx, dword [0xb2f414]
add ebx, dword [esp + 0x128]
add ebx, eax
mov ecx, ebx
call dword [0xb0836c]
mov ecx, dword [esp + 0x14]
mov edx, edi
push dword [esp + 0x124]
push esi
call ebx
add esp, 8
mov ecx, dword [esp + 0x54]
mov dword [ecx], eax
mov edi, dword [esp + 0x2f4]
mov dword [edi + 0x30], eax
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
mov ecx, ebx
xor ecx, eax
xor ecx, 0xb3bd5610
test ecx, eax
je 0x688e17
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x14], 0
mov ecx, dword [esp + 0xc]
mov eax, ecx
bswap eax
cmovne eax, ecx
cmp eax, dword [edx + 0x1c]
jne 0x68903b
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 0x48]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24c]
mov dword [eax], ecx
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x68b3d8
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x14], 0
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 4]
mov ebx, dword [esp + 8]
je 0x68b3ed
cmp ebx, dword [esp + 0x8c]
jae 0x688f85
mov edx, dword [esp]
test edx, edx
mov ebp, dword [esp + 0x20]
je 0x68b446
mov ecx, dword [esp + 0x250]
add edx, ecx
mov esi, dword [esp + 4]
movzx edi, byte [esi]
mov ecx, ebx
shl edi, cl
inc esi
add dword [esp + 0xc], edi
mov ecx, dword [esp + 0x2c]
add ecx, ebx
cmp ebx, dword [esp + 0x74]
mov ebx, dword [esp + 0x2f4]
jae 0x688f92
test edx, edx
je 0x68b46a
mov edx, dword [esp + 0x68]
mov esi, dword [esp]
add edx, esi
mov dword [esp + 0x14], edx
mov esi, dword [esp + 4]
movzx edi, byte [esi + 1]
shl edi, cl
lea edx, [esi + 2]
add dword [esp + 0xc], edi
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 8]
lea ecx, [esi + edi]
cmp esi, edi
jae 0x688f98
cmp dword [esp + 0x14], 0
je 0x68b460
mov esi, dword [esp + 4]
movzx edi, byte [esi + 2]
shl edi, cl
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp]
add ecx, edx
mov dword [esp + 0x14], ecx
mov ecx, edi
mov edx, dword [esp + 0xc]
xor ecx, edx
and edi, edx
mov edx, dword [esp + 0x34]
add edx, esi
lea ecx, [ecx + edi*2]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x74]
mov esi, dword [esp + 8]
add ecx, esi
cmp esi, dword [esp + 0x2c]
jae 0x688f98
cmp dword [esp + 0x14], 0
je 0x68b460
movzx edx, byte [edx]
shl edx, cl
mov ecx, edx
mov esi, dword [esp + 0xc]
xor ecx, esi
and edx, esi
lea ecx, [ecx + edx*2]
mov edx, dword [esp]
add edx, dword [esp + 0xec]
mov esi, dword [esp + 4]
add esi, dword [esp + 0x3c]
mov edi, dword [esp + 8]
add edi, dword [esp + 0x8c]
mov dword [esp + 4], esi
mov dword [esp], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
jmp 0x688fa7
mov ebx, dword [esp + 0x2f4]
mov ebp, dword [esp + 0x20]
jmp 0x688fa7
mov dword [esp + 4], esi
jmp 0x688fa0
mov dword [esp + 4], edx
mov edx, dword [esp + 0x14]
mov dword [esp], edx
mov dword [esp + 8], ecx
xor ecx, ecx
test dword [esp + 0x3c], eax
mov edi, dword [esp + 0x24]
je 0x68b316
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
cmp eax, dword [edx + 0x20]
je 0x68b316
movzx eax, byte [0xb2f3d7]
movzx ecx, byte [esp + 0x8b]
cmp al, cl
movzx edx, byte [esp + 0xeb]
mov ah, byte [esp + 0xea]
je 0x68902f
mov al, dl
lock cmpxchg byte [0xb2f3d7], ah
je 0x688ffc
cmp al, cl
jne 0x688fea
jmp 0x68902f
xor eax, eax
mov edx, dword [esp + 0xfc]
movzx ecx, byte [eax + 0xab49d0]
xor byte [eax + 0xb2f3c0], cl
mov ecx, eax
xor ecx, 1
and eax, 1
lea eax, [ecx + eax*2]
cmp eax, edx
jl 0x689005
movzx eax, byte [esp + 0x8b]
xchg byte [0xb2f3d7], al
mov dword [ebx + 0x18], 0xb2f3c0
jmp 0x68abec
movzx eax, byte [0xb2f3b5]
movzx edx, byte [esp + 0x5e]
cmp al, dl
movzx ecx, byte [esp + 0xd1]
mov ah, byte [esp + 0x86]
mov ebx, dword [esp + 0xf0]
je 0x689ee2
mov al, cl
lock cmpxchg byte [0xb2f3b5], ah
je 0x689e06
cmp al, dl
jne 0x689065
jmp 0x689ee2
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x70]
mov dword [ecx + 0x54], eax
mov eax, dword [esp + 0xa8]
mov dword [ecx + 0x5c], eax
mov eax, dword [ecx + 0x64]
mov ecx, dword [ecx + 0x68]
mov dword [esp], ecx
mov ecx, dword [0xb2f434]
mov esi, dword [0xb2f410]
add esi, dword [esp + 0x128]
add esi, ecx
mov ecx, dword [esp + 0x144]
lea eax, [ecx + eax*2]
mov dword [esp + 4], eax
mov ecx, esi
call dword [0xb0836c]
mov ecx, 2
mov edx, dword [esp + 4]
push dword [esp + 0x150]
push dword [esp + 0x14c]
push dword [esp + 0x204]
push dword [esp + 0x158]
push dword [esp + 0x10]
call esi
add esp, 0x14
test eax, eax
je 0x68a139
mov dword [esp + 0x1c], eax
movzx eax, byte [0xb2f336]
movzx ecx, byte [esp + 0x82]
cmp al, cl
movzx edx, byte [esp + 0xcb]
mov ah, byte [esp + 0xca]
je 0x68acc6
mov al, dl
lock cmpxchg byte [0xb2f336], ah
je 0x68a675
cmp al, cl
jne 0x689126
jmp 0x68acc6
xor eax, eax
mov edx, dword [esp + 0x100]
cmp edx, 8
jb 0x689212
xor ecx, ecx
cmp edx, 0x20
jb 0x6891d2
xor eax, eax
mov ecx, dword [esp + 0x188]
movdqa xmm2, xmmword [eax + 0xb2f380]
movdqa xmm3, xmmword [eax + 0xb2f390]
movdqa xmm0, xmmword [eax + 0xab4990]
movdqa xmm1, xmmword [eax + 0xab49a0]
movdqa xmm4, xmm0
pxor xmm4, xmm2
movdqa xmm5, xmm1
pxor xmm5, xmm3
pand xmm0, xmm2
pand xmm1, xmm3
paddb xmm0, xmm0
paddb xmm0, xmm4
paddb xmm1, xmm1
paddb xmm1, xmm5
movdqa xmmword [eax + 0xb2f380], xmm0
movdqa xmmword [eax + 0xb2f390], xmm1
add eax, 0x20
cmp ecx, eax
jne 0x689161
cmp edx, ecx
je 0x68923a
mov eax, dword [esp + 0x188]
mov ecx, eax
test dl, 0x18
je 0x689212
mov eax, dword [esp + 0x1e8]
movq xmm0, qword [ecx + 0xb2f380]
movq xmm1, qword [ecx + 0xab4990]
movdqa xmm2, xmm1
pxor xmm2, xmm0
pand xmm1, xmm0
paddb xmm1, xmm1
paddb xmm1, xmm2
movq qword [ecx + 0xb2f380], xmm1
add ecx, 8
cmp eax, ecx
jne 0x6891d9
mov ecx, eax
cmp edx, eax
je 0x68923a
movzx ecx, byte [eax + 0xb2f380]
movzx edx, byte [eax + 0xab4990]
mov ch, dl
xor ch, cl
and dl, cl
add dl, dl
add dl, ch
mov byte [eax + 0xb2f380], dl
inc eax
cmp dword [esp + 0x100], eax
jne 0x689212
movzx eax, byte [esp + 0x85]
xchg byte [0xb2f39e], al
mov dword [esi + 0x18], 0xb2f380
jmp 0x68abec
mov dword [esp + 4], ecx
mov edi, eax
mov dword [esp], edi
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x24]
test eax, eax
je 0x68926b
mov dword [eax + 4], edx
mov edi, edx
mov edx, dword [esp + 0xbc]
mov eax, edx
mov ebp, dword [esp + 0x170]
xor eax, ebp
mov ecx, dword [esp + 0x10]
and eax, dword [ecx + 0x14]
xor eax, ebp
mov ecx, eax
not ecx
xor eax, edx
and ecx, ebp
or ecx, eax
cmp ecx, 0xffffffff
je 0x68931d
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x10]
test dword [ecx + 0xc], eax
je 0x68931d
mov eax, edi
mov edx, edi
mov ecx, dword [esp + 0x2c]
shr edx, cl
mov byte [esp + 0x2d8], al
mov byte [esp + 0x2d9], dl
mov ecx, dword [esp + 0x50]
shr eax, cl
mov edx, edi
mov ecx, dword [esp + 0x74]
shr edx, cl
mov byte [esp + 0x2da], al
mov eax, dword [esp + 0x34]
mov byte [esp + eax + 0x2d8], dl
mov ebp, dword [esp + 0x54]
mov esi, dword [ebp]
mov eax, dword [0xb2f438]
mov ebx, dword [0xb2f424]
xor ebx, dword [esp + 0x58]
sub ebx, dword [esp + 0x70]
add ebx, eax
mov ecx, ebx
call dword [0xb0836c]
lea edx, [esp + 0x2d8]
mov ecx, esi
push dword [esp + 0x78]
push dword [esp + 0x40]
call ebx
add esp, 8
mov dword [ebp], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x268]
mov dword [eax], ecx
xor eax, eax
xor ebp, ebp
mov edi, dword [esp]
mov dword [esp + 8], eax
test edi, edi
je 0x68b376
mov ebx, edi
mov esi, dword [esp + 4]
movzx eax, byte [esi]
mov edi, dword [esp + 8]
mov ecx, edi
shl eax, cl
mov edx, eax
xor edx, ebp
and eax, ebp
mov dword [esp], ebx
lea ecx, [ebx - 1]
lea eax, [edx + eax*2]
mov dword [esp + 0xc], eax
lea eax, [esi + 1]
mov edx, dword [esp + 0x2c]
cmp edi, edx
jae 0x6893aa
mov ebp, edi
add ebp, edx
test ecx, ecx
mov ebx, dword [esp + 0x28]
je 0x68b42a
mov eax, dword [esp]
add eax, dword [esp + 0x68]
mov edi, dword [esp + 4]
movzx edx, byte [edi + 1]
mov ecx, ebp
shl edx, cl
add edi, 2
mov dword [esp + 4], edi
mov ebp, dword [esp + 0xc]
add ebp, edx
mov dword [0xb2f3e8], 0xbf51bd40
mov edi, eax
jmp 0x6893b8
mov dword [esp + 4], eax
mov edi, ecx
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x24]
test eax, eax
je 0x6893e1
mov edx, ebp
mov esi, ebp
mov ecx, dword [esp + 0x2c]
shr esi, cl
and edx, dword [esp + 0x1b8]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x24]
mov dword [eax + 0xc], esi
mov dword [esp], edi
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0x10]
test dword [ecx + 0x14], eax
je 0x689458
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x10]
test dword [ecx + 0xc], eax
je 0x689458
mov eax, ebp
mov ecx, dword [esp + 0x2c]
shr eax, cl
mov ecx, ebp
mov byte [esp + 0x2d8], cl
mov byte [esp + 0x2d9], al
mov ebp, dword [esp + 0x54]
mov esi, dword [ebp]
mov eax, dword [0xb2f438]
mov ebx, dword [0xb2f424]
or ebx, dword [esp + 0x58]
sub ebx, dword [esp + 0x70]
add ebx, eax
mov ecx, ebx
call dword [0xb0836c]
lea edx, [esp + 0x2d8]
mov ecx, esi
push dword [esp + 0x78]
push 2
call ebx
mov ebx, dword [esp + 0x30]
add esp, 8
mov dword [ebp], eax
mov eax, dword [esp + 0x27c]
mov ecx, dword [esp + 0x10]
mov dword [ecx + 4], eax
mov eax, dword [ecx + 0x14]
mov ecx, ebx
xor ecx, eax
mov edx, ecx
xor edx, 0x4c42adeb
and eax, dword [esp + 0x1d4]
or eax, edx
xor ecx, 0xb3bd5214
mov dword [esp + 8], 0
mov edi, 0
mov edx, 0
test eax, ecx
mov ebx, dword [esp + 4]
je 0x6894e6
mov eax, dword [esp]
test eax, eax
je 0x68b416
movzx edx, byte [ebx]
mov ebp, dword [esp + 8]
mov ecx, ebp
shl edx, cl
dec eax
add edi, edx
lea ecx, [ebx + 1]
mov edx, dword [esp + 0x2c]
cmp ebp, edx
jae 0x689505
add ebp, edx
test eax, eax
je 0x68b434
mov eax, dword [esp]
add eax, dword [esp + 0x68]
movzx edx, byte [ebx + 1]
mov esi, ebx
mov ecx, ebp
shl edx, cl
add esi, 2
add edi, edx
mov ebx, esi
jmp 0x689507
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x24]
test eax, eax
je 0x689599
mov dword [eax + 0x10], 0
jmp 0x689599
mov ebx, ecx
mov dword [esp], eax
mov eax, dword [esp + 0x10]
mov dword [eax + 0x44], edi
mov eax, dword [eax + 0x24]
test eax, eax
je 0x68951b
mov dword [eax + 0x14], edi
xor edx, edx
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0x10]
test dword [ecx + 0x14], eax
mov dword [esp + 4], ebx
je 0x689591
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x10]
test dword [ecx + 0xc], eax
je 0x689591
mov eax, edi
mov ecx, dword [esp + 0x2c]
shr eax, cl
mov ecx, edi
mov byte [esp + 0x2d8], cl
mov byte [esp + 0x2d9], al
mov edi, dword [esp + 0x54]
mov esi, dword [edi]
mov eax, dword [0xb2f438]
mov ebx, dword [0xb2f424]
or ebx, dword [esp + 0x58]
sub ebx, dword [esp + 0x70]
add ebx, eax
mov ecx, ebx
call dword [0xb0836c]
lea edx, [esp + 0x2d8]
mov ecx, esi
push dword [esp + 0x78]
push 2
call ebx
xor edx, edx
add esp, 8
mov dword [edi], eax
mov dword [esp + 8], 0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x288]
mov dword [eax], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x1d4]
mov ecx, dword [esp + 0x10]
test dword [ecx + 0x14], eax
je 0x6896cb
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x44]
mov edi, dword [esp]
cmp ecx, edi
cmovb edi, ecx
test edi, edi
je 0x6896c3
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x24]
test edx, edx
je 0x689625
mov eax, dword [edx + 0x10]
test eax, eax
je 0x689625
mov esi, dword [edx + 0x14]
mov edx, dword [edx + 0x18]
sub esi, ecx
mov ecx, edx
sub ecx, esi
jbe 0x689625
add eax, esi
mov ebx, esi
mov ebp, dword [esp + 0x220]
xor ebx, ebp
and esi, ebp
lea esi, [ebx + esi*2]
mov ebx, esi
xor ebx, edi
and esi, edi
sub ebx, ebp
lea esi, [ebx + esi*2]
cmp esi, edx
cmovbe ecx, edi
push ecx
push dword [esp + 8]
push eax
call fcn.0077cce0
add esp, 0xc
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
mov ecx, dword [esp + 0x28]
xor ecx, eax
mov edx, ecx
xor edx, 0x4c42abeb
and eax, dword [esp + 0xbc]
or eax, edx
xor ecx, 0xb3bd5414
test eax, ecx
je 0x6896b0
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
mov ecx, eax
not ecx
mov ebp, dword [esp + 0x3c]
mov edx, ebp
and edx, ecx
mov esi, eax
mov ebx, dword [esp + 0x134]
and esi, ebx
or esi, edx
xor ecx, ebx
and eax, ebp
or eax, ecx
not esi
test eax, esi
je 0x6896b0
mov ebp, dword [esp + 0x54]
mov esi, dword [ebp]
mov eax, dword [0xb2f438]
mov ebx, dword [0xb2f424]
or ebx, dword [esp + 0x58]
sub ebx, dword [esp + 0x70]
add ebx, eax
mov ecx, ebx
call dword [0xb0836c]
mov ecx, esi
mov edx, dword [esp + 4]
push dword [esp + 0x78]
push edi
call ebx
add esp, 8
mov dword [ebp], eax
sub dword [esp], edi
add dword [esp + 4], edi
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x44]
sub ecx, edi
mov dword [eax + 0x44], ecx
test ecx, ecx
jne 0x68b36b
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x44], 0
mov eax, dword [esp + 0x28c]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
mov ecx, eax
not ecx
and ecx, dword [esp + 0x294]
xor eax, dword [esp + 0x28]
xor eax, 0x4c42a1eb
or eax, ecx
cmp eax, 0xffffffff
je 0x6897f9
cmp dword [esp], 0
mov ebp, dword [esp + 4]
je 0x68b2e6
xor edi, edi
nop word cs:[eax + eax]
movzx ebx, byte [ebp + edi]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x24]
test ecx, ecx
je 0x689750
mov eax, dword [ecx + 0x1c]
test eax, eax
je 0x689750
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x44]
cmp edx, dword [ecx + 0x20]
jae 0x689750
lea ecx, [edx + 1]
mov esi, dword [esp + 0x10]
mov dword [esi + 0x44], ecx
mov byte [eax + edx], bl
inc edi
test bl, bl
je 0x68975a
cmp dword [esp], edi
ja 0x689720
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
mov ecx, dword [esp + 0x28]
xor ecx, eax
not eax
xor ecx, 0x4c42abeb
and eax, dword [esp + 0x170]
or eax, ecx
cmp eax, 0xffffffff
je 0x6897c8
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x10]
test dword [ecx + 0xc], eax
je 0x6897c8
mov esi, dword [esp + 0x54]
mov eax, dword [esi]
mov dword [esp + 0x14], eax
mov eax, dword [0xb2f438]
mov ebp, dword [0xb2f424]
add ebp, dword [esp + 0xa0]
add ebp, eax
mov ecx, ebp
call dword [0xb0836c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 4]
push dword [esp + 0x78]
push edi
call ebp
mov ebp, dword [esp + 0xc]
add esp, 8
mov dword [esi], eax
mov edx, dword [esp]
mov eax, edx
mov ecx, dword [esp + 0x16c]
xor eax, ecx
and edx, ecx
lea eax, [eax + edx*2]
test bl, bl
jne 0x68b357
add eax, dword [esp + 0x280]
sub eax, edi
mov ecx, ebp
add ecx, edi
mov dword [esp + 4], ecx
mov dword [esp], eax
jmp 0x68980b
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x24]
test eax, eax
je 0x68980b
mov dword [eax + 0x1c], 0
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x44], 0
mov eax, dword [esp + 0x290]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x29c]
mov ecx, dword [esp + 0x10]
test dword [ecx + 0x14], eax
je 0x689915
cmp dword [esp], 0
mov ebp, dword [esp + 4]
je 0x68b2e6
xor edi, edi
nop word cs:[eax + eax]
movzx ebx, byte [ebp + edi]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x24]
test ecx, ecx
je 0x689880
mov eax, dword [ecx + 0x24]
test eax, eax
je 0x689880
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x44]
cmp edx, dword [ecx + 0x28]
jae 0x689880
lea ecx, [edx + 1]
mov esi, dword [esp + 0x10]
mov dword [esi + 0x44], ecx
mov byte [eax + edx], bl
inc edi
test bl, bl
je 0x68988a
cmp dword [esp], edi
ja 0x689850
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0x10]
test dword [ecx + 0x14], eax
je 0x6898f9
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
mov ecx, eax
not ecx
mov edx, dword [esp + 0x3c]
and edx, ecx
mov ebp, dword [esp + 0x134]
and eax, ebp
or eax, edx
and ecx, ebp
xor ecx, eax
cmp ecx, 0xffffffff
je 0x6898f9
mov esi, dword [esp + 0x54]
mov eax, dword [esi]
mov dword [esp + 0x14], eax
mov eax, dword [0xb2f438]
mov ebp, dword [0xb2f424]
add ebp, dword [esp + 0x128]
add ebp, eax
mov ecx, ebp
call dword [0xb0836c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 4]
push dword [esp + 0x78]
push edi
call ebp
add esp, 8
mov dword [esi], eax
test bl, bl
jne 0x68b30b
mov eax, dword [esp]
sub eax, edi
mov ecx, dword [esp + 4]
add ecx, edi
mov dword [esp + 4], ecx
mov dword [esp], eax
jmp 0x689927
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x24]
test eax, eax
je 0x689927
mov dword [eax + 0x24], 0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x298]
mov dword [eax], ecx
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
mov ecx, eax
not ecx
mov edx, dword [esp + 0xbc]
and edx, ecx
mov esi, eax
mov edi, dword [esp + 0x170]
and esi, edi
or esi, edx
and ecx, edi
xor ecx, esi
cmp ecx, 0xffffffff
je 0x6899e3
mov ecx, dword [esp + 8]
cmp ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x20]
jae 0x6899e9
mov edx, dword [esp]
test edx, edx
je 0x68b446
mov ecx, edx
not ecx
lea edx, [ecx + edx*2]
mov esi, dword [esp + 4]
movzx edi, byte [esi]
mov ebx, dword [esp + 8]
mov ecx, ebx
shl edi, cl
inc esi
add dword [esp + 0xc], edi
mov edi, dword [esp + 0x2c]
lea ecx, [ebx + edi]
cmp ebx, edi
jae 0x6899f2
test edx, edx
mov edi, dword [esp + 0x2f4]
je 0x68b46a
mov esi, dword [esp + 4]
movzx edx, byte [esi + 1]
shl edx, cl
add dword [esp + 0xc], edx
mov ecx, dword [esp]
add ecx, dword [esp + 0x68]
mov edx, esi
add edx, 2
mov esi, dword [esp + 8]
add esi, dword [esp + 0x50]
mov dword [esp + 4], edx
mov dword [esp], ecx
mov dword [esp + 8], esi
jmp 0x689a04
mov ebp, dword [esp + 0x20]
jmp 0x689a4c
mov edi, dword [esp + 0x2f4]
jmp 0x689a08
mov dword [esp + 4], esi
mov dword [esp], edx
mov dword [esp + 8], ecx
mov edi, dword [esp + 0x2f4]
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x10]
test dword [edx + 0xc], ecx
je 0x689a3c
mov ecx, dword [esp + 0x54]
mov ecx, dword [ecx]
mov edx, ebx
xor edx, ecx
not ecx
xor edx, 0x4c425614
and ecx, dword [esp + 0x1c8]
or ecx, edx
not ecx
cmp dword [esp + 0xc], ecx
jne 0x689acb
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x24]
test ecx, ecx
je 0x689a7b
xor edx, edx
mov ebx, dword [esp + 0x164]
bt eax, ebx
setb dl
mov dword [ecx + 0x2c], edx
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x24]
mov dword [eax + 0x30], 1
mov eax, dword [0xb2f438]
mov ebx, dword [0xb2f424]
or ebx, dword [esp + 0x58]
sub ebx, dword [esp + 0x70]
add ebx, eax
mov ecx, ebx
call dword [0xb0836c]
xor ecx, ecx
xor edx, edx
push dword [esp + 0x78]
push 0
call ebx
add esp, 8
mov ecx, dword [esp + 0x54]
mov dword [ecx], eax
mov ecx, dword [esp + 0x2f4]
mov dword [ecx + 0x30], eax
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
mov eax, ecx
jmp 0x686ff5
movzx eax, byte [0xb2f214]
movzx edx, byte [esp + 0xe8]
cmp al, dl
movzx ecx, byte [esp + 0xe7]
mov ah, byte [esp + 0xe6]
mov ebx, dword [esp + 0xb8]
je 0x68ac38
mov al, cl
lock cmpxchg byte [0xb2f214], ah
je 0x689b0d
cmp al, dl
jne 0x689af8
jmp 0x68ac38
xor ecx, ecx
cmp ebx, 8
jb 0x68ac1e
xor eax, eax
cmp ebx, 0x20
jb 0x689b79
xor eax, eax
mov ecx, dword [esp + 0x114]
movdqa xmm0, xmmword [eax + 0xab4810]
movdqa xmm1, xmmword [eax + 0xab4820]
pxor xmm0, xmmword [eax + 0xb2f200]
pxor xmm1, xmmword [eax + 0xb2f210]
movdqa xmmword [eax + 0xb2f200], xmm0
movdqa xmmword [eax + 0xb2f210], xmm1
add eax, 0x20
cmp ecx, eax
jne 0x689b28
cmp ebx, ecx
je 0x68ac30
mov ecx, dword [esp + 0x114]
mov eax, ecx
test bl, 0x18
je 0x68ac1e
mov ecx, dword [esp + 0x1a0]
movq xmm0, qword [eax + 0xb2f200]
movq xmm1, qword [eax + 0xab4810]
pxor xmm1, xmm0
movq qword [eax + 0xb2f200], xmm1
add eax, 8
cmp ecx, eax
jne 0x689b80
mov eax, ecx
jmp 0x68ac2c
xor ecx, ecx
cmp edx, 8
jb 0x68abfb
xor eax, eax
cmp edx, 0x20
jb 0x689c16
xor eax, eax
mov ecx, dword [esp + 0x110]
movdqa xmm0, xmmword [eax + 0xab47f0]
movdqa xmm1, xmmword [eax + 0xab4800]
paddb xmm0, xmmword [eax + 0xb2f1e0]
paddb xmm1, xmmword [eax + 0xb2f1f0]
movdqa xmmword [eax + 0xb2f1e0], xmm0
movdqa xmmword [eax + 0xb2f1f0], xmm1
add eax, 0x20
cmp ecx, eax
jne 0x689bc5
cmp edx, ecx
je 0x68ac0d
mov ecx, dword [esp + 0x110]
mov eax, ecx
test dl, 0x18
je 0x68abfb
mov ecx, dword [esp + 0x19c]
movq xmm0, qword [eax + 0xb2f1e0]
movq xmm1, qword [eax + 0xab47f0]
paddb xmm1, xmm0
movq qword [eax + 0xb2f1e0], xmm1
add eax, 8
cmp ecx, eax
jne 0x689c1d
mov eax, ecx
jmp 0x68ac09
xor eax, eax
movzx ecx, byte [eax + 0xab4790]
xor byte [eax + 0xb2f180], cl
mov ecx, eax
xor ecx, 1
and eax, 1
lea eax, [ecx + eax*2]
cmp eax, edx
jl 0x689c49
movzx eax, byte [esp + 0x84]
xchg byte [0xb2f197], al
mov dword [edi + 0x18], 0xb2f180
jmp 0x68ab31
mov eax, dword [esp + 0xc]
and eax, dword [esp + 0x11c]
cmp eax, dword [esp + 0x2c]
jne 0x68a516
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
shr edx, cl
mov ecx, edx
not ecx
mov eax, dword [esp + 0x120]
and eax, ecx
xor ecx, dword [esp + 0x11c]
xor ecx, eax
mov eax, dword [esp + 0x2c]
add eax, ecx
mov esi, dword [esp + 0x10]
cmp dword [esi + 0x28], 0
jne 0x689ccb
mov esi, dword [esp + 0x10]
mov dword [esi + 0x28], eax
cmp dword [esp + 0x90], ecx
jb 0x689ce1
mov esi, dword [esp + 0x10]
cmp eax, dword [esi + 0x28]
jbe 0x68af3c
movzx eax, byte [0xb2f1d4]
cmp al, byte [esp + 0x33]
movzx ecx, byte [esp + 0xc9]
mov ah, byte [esp + 0xc8]
je 0x68ab83
mov al, cl
lock cmpxchg byte [0xb2f1d4], ah
je 0x68a8cf
cmp al, byte [esp + 0x33]
jne 0x689d01
jmp 0x68ab83
mov dword [esp + 4], eax
mov dword [esp], ecx
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x2f4]
bswap ebp
mov ecx, dword [esp + 0x54]
mov dword [ecx], ebp
mov dword [edi + 0x30], ebp
mov ecx, dword [esp + 0x258]
mov dword [eax], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x10], 0
je 0x68b37f
mov eax, dword [0xb2f430]
mov ebx, dword [0xb2f414]
or ebx, dword [esp + 0x58]
sub ebx, dword [esp + 0x70]
add ebx, eax
mov ecx, ebx
call dword [0xb0836c]
xor ecx, ecx
xor edx, edx
push dword [esp + 0x124]
push 0
call ebx
add esp, 8
mov ecx, dword [esp + 0x54]
mov dword [ecx], eax
mov ecx, dword [esp + 0x2f4]
mov dword [ecx + 0x30], eax
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
cmp dword [esp + 0x284], 2
jb 0x68b36b
mov eax, dword [esp + 0x10]
cmp dword [eax + 8], 0
mov ebp, dword [esp + 0x20]
je 0x68ad66
mov ecx, dword [esp + 8]
mov eax, ecx
and ecx, dword [esp + 0x90]
mov edx, dword [esp + 0xc]
shr edx, cl
and eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c0]
mov dword [ecx], edi
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov eax, ecx
mov edi, dword [esp + 0x24]
jmp 0x686ff5
xor ecx, ecx
cmp ebx, 8
jb 0x689ec8
xor eax, eax
cmp ebx, 0x20
jb 0x689e81
xor eax, eax
mov ecx, dword [esp + 0x180]
movdqa xmm0, xmmword [eax + 0xab49b0]
movdqa xmm1, xmmword [eax + 0xab49c0]
paddb xmm0, xmmword [eax + 0xb2f3a0]
paddb xmm1, xmmword [eax + 0xb2f3b0]
movdqa xmmword [eax + 0xb2f3a0], xmm0
movdqa xmmword [eax + 0xb2f3b0], xmm1
add eax, 0x20
cmp ecx, eax
jne 0x689e21
mov ebx, dword [esp + 0xf0]
cmp ebx, ecx
mov edi, dword [esp + 0x2f4]
mov ebp, dword [esp + 0x20]
movzx edx, byte [esp + 0x5e]
je 0x689eda
mov ecx, dword [esp + 0x180]
mov eax, ecx
test bl, 0x18
je 0x689ec8
mov edx, dword [esp + 0x1e4]
movq xmm0, qword [eax + 0xb2f3a0]
movq xmm1, qword [eax + 0xab49b0]
paddb xmm1, xmm0
movq qword [eax + 0xb2f3a0], xmm1
add eax, 8
cmp edx, eax
jne 0x689e88
mov ecx, edx
mov ebx, dword [esp + 0xf0]
cmp ebx, edx
mov edi, dword [esp + 0x2f4]
mov ebp, dword [esp + 0x20]
movzx edx, byte [esp + 0x5e]
je 0x689eda
movzx eax, byte [ecx + 0xab49b0]
add byte [ecx + 0xb2f3a0], al
inc ecx
cmp ebx, ecx
jne 0x689ec8
mov eax, edx
xchg byte [0xb2f3b5], al
mov dword [edi + 0x18], 0xb2f3a0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x40]
mov dword [eax], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x60], ecx
mov edi, dword [esp + 0x24]
jmp 0x686ff5
test edx, edx
mov edi, dword [esp + 0x28]
je 0x68b764
mov eax, edi
mov ecx, dword [esp]
xor eax, ecx
xor eax, 0xb3bd5617
not ecx
mov edx, dword [esp + 0x34]
and ecx, edx
or ecx, eax
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0xfffffffe
mov esi, dword [esp + 4]
movzx edx, byte [esi + edx]
add esi, dword [esp + 0x3c]
mov ecx, dword [esp + 8]
shl edx, cl
add ebp, edx
mov dword [esp + 4], esi
mov edx, eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 8], eax
jmp 0x6877c0
xor ecx, ecx
cmp dword [esp + 0x6c], 8
jb 0x68a011
xor eax, eax
cmp dword [esp + 0x6c], 0x20
jb 0x689fd2
xor eax, eax
mov ecx, dword [esp + 0x104]
movdqa xmm0, xmmword [eax + 0xab4910]
movdqa xmm1, xmmword [eax + 0xab4920]
pxor xmm0, xmmword [eax + 0xb2f300]
pxor xmm1, xmmword [eax + 0xb2f310]
movdqa xmmword [eax + 0xb2f300], xmm0
movdqa xmmword [eax + 0xb2f310], xmm1
add eax, 0x20
cmp ecx, eax
jne 0x689f78
cmp dword [esp + 0x6c], ecx
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
movzx edx, byte [esp + 0x5d]
je 0x68a025
mov ecx, dword [esp + 0x104]
mov eax, ecx
test byte [esp + 0x6c], 0x18
je 0x68a011
mov edx, dword [esp + 0x184]
movq xmm0, qword [eax + 0xb2f300]
movq xmm1, qword [eax + 0xab4910]
pxor xmm1, xmm0
movq qword [eax + 0xb2f300], xmm1
add eax, 8
cmp edx, eax
jne 0x689fd9
mov ecx, edx
cmp dword [esp + 0x6c], edx
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
movzx edx, byte [esp + 0x5d]
je 0x68a025
movzx eax, byte [ecx + 0xab4910]
xor byte [ecx + 0xb2f300], al
inc ecx
cmp dword [esp + 0x6c], ecx
jne 0x68a011
mov eax, edx
xchg byte [0xb2f31c], al
mov eax, dword [esp + 0x2f4]
mov dword [eax + 0x18], 0xb2f300
jmp 0x68ab44
xor ecx, ecx
cmp dword [esp + 0x98], 8
jb 0x68a107
xor eax, eax
cmp dword [esp + 0x98], 0x20
jb 0x68a0c5
xor eax, eax
mov ecx, dword [esp + 0x17c]
movdqa xmm0, xmmword [eax + 0xab48e0]
movdqa xmm1, xmmword [eax + 0xab48f0]
pxor xmm0, xmmword [eax + 0xb2f2d0]
pxor xmm1, xmmword [eax + 0xb2f2e0]
movdqa xmmword [eax + 0xb2f2d0], xmm0
movdqa xmmword [eax + 0xb2f2e0], xmm1
add eax, 0x20
cmp ecx, eax
jne 0x68a065
cmp dword [esp + 0x98], ecx
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
movzx edx, byte [esp + 0x5c]
je 0x68a11e
mov ecx, dword [esp + 0x17c]
mov eax, ecx
test byte [esp + 0x98], 0x18
je 0x68a107
mov edx, dword [esp + 0x1e0]
movq xmm0, qword [eax + 0xb2f2d0]
movq xmm1, qword [eax + 0xab48e0]
pxor xmm1, xmm0
movq qword [eax + 0xb2f2d0], xmm1
add eax, 8
cmp edx, eax
jne 0x68a0cc
mov ecx, edx
cmp dword [esp + 0x98], edx
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
movzx edx, byte [esp + 0x5c]
je 0x68a11e
movzx eax, byte [ecx + 0xab48e0]
xor byte [ecx + 0xb2f2d0], al
inc ecx
cmp dword [esp + 0x98], ecx
jne 0x68a107
mov eax, edx
xchg byte [0xb2f2f5], al
mov eax, dword [esp + 0x2f4]
mov dword [eax + 0x18], 0xb2f2d0
jmp 0x68ab44
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x154]
mov dword [eax], ecx
mov eax, dword [esp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
mov dword [esp + 8], ebx
mov ecx, 0
mov eax, dword [esp + 0xa8]
cmp eax, dword [esp + 0x2f8]
je case.0x687019.28
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x15c]
mov dword [eax], ecx
mov edi, dword [esp]
cmp edi, dword [esp + 0x130]
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x48]
jbe 0x68a261
cmp eax, dword [esp + 0x1bc]
jbe 0x68a261
mov esi, dword [esp + 0x2f4]
mov ecx, dword [esp + 0x44]
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], eax
mov eax, dword [esp + 4]
mov dword [esi], eax
mov dword [esi + 4], edi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [eax + 0x3c], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 8]
mov dword [eax + 0x40], ecx
mov eax, dword [0xb2f440]
mov ebx, dword [0xb2f420]
add ebx, dword [esp + 0x128]
add ebx, eax
mov ecx, ebx
call dword [0xb0836c]
mov ecx, esi
mov edx, dword [esp + 0x60]
push dword [esp + 0x264]
call ebx
add esp, 4
mov eax, dword [esi + 0xc]
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x48], eax
mov eax, dword [esi]
mov dword [esp + 4], eax
mov eax, dword [esi + 4]
mov dword [esp], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x3c]
mov dword [esp + 0xc], eax
mov eax, dword [ecx + 0x40]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xac]
cmp dword [ecx + 4], eax
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
jne 0x686ff5
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x1bc8], 0xffffffff
jmp 0x686ff5
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x1bc8], 0
mov esi, dword [ecx + 0x50]
movzx ecx, byte [ecx + 0x58]
mov eax, 0xffffffff
shl eax, cl
not eax
mov ecx, dword [esp + 0xc]
and ecx, eax
movzx edx, byte [esi + ecx*4 + 1]
mov ebx, dword [esp + 8]
cmp ebx, edx
jae 0x68a2f8
mov dword [esp + 0x14], esi
mov ecx, ebx
mov esi, edi
mov edi, dword [esp + 4]
test esi, esi
je 0x68b283
add esi, dword [esp + 0x2a0]
mov edx, esi
mov ebx, dword [esp + 0x1d8]
xor edx, ebx
and esi, ebx
movzx ebx, byte [edi]
shl ebx, cl
lea esi, [edx + esi*2]
inc edi
mov edx, dword [esp + 0xc]
add edx, ebx
add ecx, dword [esp + 0x2c]
mov dword [esp + 0xc], edx
mov ebx, edx
and ebx, eax
mov edx, dword [esp + 0x14]
movzx edx, byte [edx + ebx*4 + 1]
cmp ecx, edx
jb 0x68a29e
mov eax, dword [esp + 0x14]
lea eax, [eax + ebx*4]
mov dword [esp + 4], edi
mov dword [esp], esi
mov esi, dword [esp + 0x14]
mov ebx, ecx
jmp 0x68a2fb
lea eax, [esi + ecx*4]
mov edi, dword [esp + 0x24]
movzx ecx, word [eax + 2]
mov word [esp + 0x14], cx
mov ch, byte [eax]
mov cl, ch
dec cl
cmp cl, byte [esp + 0xe1]
jae 0x68a422
movzx edi, word [esp + 0x14]
mov dword [esp + 8], ebx
movzx ebx, dl
movzx ecx, ch
add ecx, ebx
mov eax, 0xffffffff
shl eax, cl
mov dword [esp + 0xc0], eax
mov ecx, eax
not ecx
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
and eax, ecx
mov ecx, ebx
shr eax, cl
mov dword [esp + 0xa4], edi
add eax, edi
movzx edx, byte [esi + eax*4 + 1]
mov dword [esp + 0x64], ebx
lea ecx, [edx + ebx]
mov edi, dword [esp + 8]
cmp ecx, edi
jbe 0x68a432
mov dword [esp + 0x14], esi
mov ecx, dword [esp]
lea eax, [ecx + ecx]
not eax
mov dword [esp + 0xf4], eax
mov ebx, edi
mov eax, ecx
mov ebp, dword [esp + 4]
test eax, eax
je 0x68b324
mov edi, eax
add dword [esp + 0xf4], 2
mov ecx, eax
not ecx
lea eax, [ecx + eax*2]
mov dword [esp + 0x38], eax
movzx edx, byte [ebp]
inc ebp
mov ecx, ebx
shl edx, cl
mov ecx, dword [esp + 0xc]
add ecx, edx
mov edx, ecx
not edx
mov dword [esp + 0xc], ecx
xor ecx, dword [esp + 0x7c]
and edx, dword [esp + 0xc0]
or edx, ecx
not edx
mov eax, dword [esp + 0x64]
mov ecx, eax
shr edx, cl
add ebx, dword [esp + 0x2c]
mov ecx, edx
mov esi, dword [esp + 0xa4]
xor ecx, esi
and edx, esi
add edx, edx
mov esi, edx
xor esi, ecx
and edx, ecx
lea ecx, [esi + edx*2]
mov edx, dword [esp + 0x14]
movzx edx, byte [edx + ecx*4 + 1]
lea esi, [edx + eax]
mov eax, dword [esp + 0x38]
cmp esi, ebx
ja 0x68a388
mov esi, dword [esp + 0x14]
lea ecx, [esi + ecx*4]
add edi, dword [esp + 0xf4]
neg edi
mov dword [esp + 4], ebp
mov dword [esp], edi
mov edi, ebx
mov ebp, dword [esp + 0x20]
jmp 0x68a435
mov esi, dword [esp + 0x10]
mov eax, ebx
mov ebx, dword [esp + 0xc]
mov byte [esp + 0x38], ch
jmp 0x68a461
lea ecx, [esi + eax*4]
mov ebx, dword [esp + 0xc]
movzx eax, word [ecx + 2]
mov word [esp + 0x14], ax
movzx eax, byte [ecx]
mov byte [esp + 0x38], al
mov ecx, dword [esp + 0x64]
shr ebx, cl
sub edi, ecx
mov esi, dword [esp + 0x10]
mov dword [esi + 0x1bc8], ecx
mov eax, edi
mov edi, dword [esp + 0x24]
mov ecx, edx
shr ebx, cl
mov dword [esp + 0xc], ebx
movzx ecx, dl
add dword [esi + 0x1bc8], ecx
sub eax, ecx
movzx ecx, word [esp + 0x14]
mov dword [esi + 0x44], ecx
movzx ecx, byte [esp + 0x38]
test cl, cl
mov ebx, eax
mov dword [esp + 8], eax
je 0x68a4e7
mov eax, ecx
movzx eax, cl
test dword [esp + 0x8c], eax
jne 0x68aead
test dword [esp + 0x1a8], eax
je 0x68a4f9
movzx eax, byte [0xb2f35c]
movzx ecx, byte [esp + 0x83]
cmp al, cl
mov edx, dword [esp + 0x2f4]
mov ah, byte [esp + 0xcd]
mov ch, byte [esp + 0xcc]
je 0x68a630
mov al, ah
lock cmpxchg byte [0xb2f35c], ch
je 0x68a552
cmp al, cl
jne 0x68a4d2
jmp 0x68a630
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x214]
mov dword [eax], ecx
jmp 0x686ff5
and eax, dword [esp + 0x1f8]
mov edx, dword [esp + 0x10]
mov dword [edx + 0x4c], eax
mov ecx, dword [esp + 0x1f4]
mov dword [edx + 4], ecx
jmp 0x687447
movzx eax, byte [0xb2f1bb]
movzx ecx, byte [esp + 0x5f]
cmp al, cl
movzx edx, byte [esp + 0x88]
mov ah, byte [esp + 0x87]
je 0x68a882
mov al, dl
lock cmpxchg byte [0xb2f1bb], ah
je 0x68a727
cmp al, cl
jne 0x68a539
jmp 0x68a882
xor ecx, ecx
mov ebx, dword [esp + 0x6c]
cmp ebx, 8
jb 0x68a610
xor eax, eax
cmp ebx, 0x20
jb 0x68a5cd
xor eax, eax
mov ecx, dword [esp + 0x104]
movdqa xmm0, xmmword [eax + 0xab4950]
movdqa xmm1, xmmword [eax + 0xab4960]
pxor xmm0, xmmword [eax + 0xb2f340]
pxor xmm1, xmmword [eax + 0xb2f350]
movdqa xmmword [eax + 0xb2f340], xmm0
movdqa xmmword [eax + 0xb2f350], xmm1
add eax, 0x20
cmp ecx, eax
jne 0x68a571
mov ebx, dword [esp + 0x6c]
cmp ebx, ecx
mov edx, dword [esp + 0x2f4]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
je 0x68a622
mov ecx, dword [esp + 0x104]
mov eax, ecx
test bl, 0x18
je 0x68a610
mov edx, dword [esp + 0x184]
movq xmm0, qword [eax + 0xb2f340]
movq xmm1, qword [eax + 0xab4950]
pxor xmm1, xmm0
movq qword [eax + 0xb2f340], xmm1
add eax, 8
cmp edx, eax
jne 0x68a5d4
mov ecx, edx
mov ebx, dword [esp + 0x6c]
cmp ebx, edx
mov edx, dword [esp + 0x2f4]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
je 0x68a622
movzx eax, byte [ecx + 0xab4950]
xor byte [ecx + 0xb2f340], al
inc ecx
cmp ebx, ecx
jne 0x68a610
movzx eax, byte [esp + 0x83]
xchg byte [0xb2f35c], al
mov dword [edx + 0x18], 0xb2f340
jmp 0x68abec
movzx eax, byte [0xb2f2ca]
movzx ecx, byte [esp + 0x4e]
cmp al, cl
movzx edx, byte [esp + 0x81]
mov ah, byte [esp + 0x4f]
je 0x68ab17
mov al, dl
lock cmpxchg byte [0xb2f2ca], ah
je 0x68a981
cmp al, cl
jne 0x68a65c
jmp 0x68ab17
xor ecx, ecx
mov edx, dword [esp + 0xb4]
cmp edx, 8
jb 0x68ac9e
xor eax, eax
cmp edx, 0x20
jb 0x68a6ef
xor eax, eax
mov ecx, dword [esp + 0x10c]
movdqa xmm0, xmmword [eax + 0xab4930]
movdqa xmm1, xmmword [eax + 0xab4940]
pxor xmm0, xmmword [eax + 0xb2f320]
pxor xmm1, xmmword [eax + 0xb2f330]
movdqa xmmword [eax + 0xb2f320], xmm0
movdqa xmmword [eax + 0xb2f330], xmm1
add eax, 0x20
cmp ecx, eax
jne 0x68a697
mov edx, dword [esp + 0xb4]
cmp edx, ecx
je 0x68acb0
mov ecx, dword [esp + 0x10c]
mov eax, ecx
test dl, 0x18
je 0x68ac9e
mov ecx, dword [esp + 0x198]
movq xmm0, qword [eax + 0xb2f320]
movq xmm1, qword [eax + 0xab4930]
pxor xmm1, xmm0
movq qword [eax + 0xb2f320], xmm1
add eax, 8
cmp ecx, eax
jne 0x68a6f6
mov eax, ecx
mov edx, dword [esp + 0xb4]
jmp 0x68acac
xor eax, eax
mov ebx, dword [esp + 0x118]
cmp ebx, 8
mov dh, byte [esp + 0x33]
jb 0x68a846
xor ecx, ecx
cmp ebx, 0x20
jb 0x68a7ea
xor eax, eax
mov ecx, dword [esp + 0x108]
movdqu xmm6, xmmword [esp + 0x2b8]
movdqa xmm1, xmmword [eax + 0xb2f1a0]
movdqa xmm0, xmmword [eax + 0xb2f1b0]
movdqa xmm4, xmmword [eax + 0xab47b0]
movdqa xmm5, xmmword [eax + 0xab47c0]
psubb xmm1, xmm6
psubb xmm0, xmm6
movdqa xmm2, xmm1
pxor xmm2, xmm4
movdqa xmm3, xmm0
pxor xmm3, xmm5
pand xmm1, xmm4
pand xmm0, xmm5
paddb xmm1, xmm1
paddb xmm0, xmm0
paddb xmm2, xmm6
paddb xmm2, xmm1
paddb xmm3, xmm6
paddb xmm3, xmm0
movdqa xmmword [eax + 0xb2f1a0], xmm2
movdqa xmmword [eax + 0xb2f1b0], xmm3
add eax, 0x20
cmp ecx, eax
jne 0x68a75a
mov ebx, dword [esp + 0x118]
cmp ebx, ecx
mov dh, byte [esp + 0x33]
je 0x68a86c
mov eax, dword [esp + 0x108]
mov ecx, eax
test bl, 0x18
je 0x68a846
mov eax, dword [esp + 0x18c]
movdqu xmm3, xmmword [esp + 0x2c8]
movq xmm0, qword [ecx + 0xb2f1a0]
movq xmm1, qword [ecx + 0xab47b0]
psubb xmm0, xmm3
movdqa xmm2, xmm0
pxor xmm2, xmm1
pand xmm0, xmm1
paddb xmm0, xmm0
paddb xmm2, xmm3
paddb xmm2, xmm0
movq qword [ecx + 0xb2f1a0], xmm2
add ecx, 8
cmp eax, ecx
jne 0x68a7fa
mov ecx, eax
mov ebx, dword [esp + 0x118]
cmp ebx, eax
mov dh, byte [esp + 0x33]
je 0x68a86c
movzx ecx, byte [eax + 0xb2f1a0]
mov dl, byte [eax + 0xab47b0]
sub cl, dh
mov ch, cl
xor ch, dl
and cl, dl
add cl, cl
add ch, dh
add ch, cl
mov byte [eax + 0xb2f1a0], ch
inc eax
cmp ebx, eax
jne 0x68a846
movzx eax, byte [esp + 0x5f]
xchg byte [0xb2f1bb], al
mov edi, dword [esp + 0x2f4]
mov ebp, dword [esp + 0x20]
mov dword [edi + 0x18], 0xb2f1a0
jmp 0x68ab31
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
movzx eax, byte [0xb2f2ca]
movzx ecx, byte [esp + 0x4e]
cmp al, cl
movzx edx, byte [esp + 0x81]
mov ah, byte [esp + 0x4f]
je 0x68ab17
mov al, dl
lock cmpxchg byte [0xb2f2ca], ah
je 0x68aa49
cmp al, cl
jne 0x68a8b6
jmp 0x68ab17
xor ecx, ecx
mov ebx, dword [esp + 0xb8]
cmp ebx, 8
jb 0x68ab66
xor eax, eax
cmp ebx, 0x20
jb 0x68a949
xor eax, eax
mov ecx, dword [esp + 0x114]
movdqa xmm0, xmmword [eax + 0xab47d0]
movdqa xmm1, xmmword [eax + 0xab47e0]
paddb xmm0, xmmword [eax + 0xb2f1c0]
paddb xmm1, xmmword [eax + 0xb2f1d0]
movdqa xmmword [eax + 0xb2f1c0], xmm0
movdqa xmmword [eax + 0xb2f1d0], xmm1
add eax, 0x20
cmp ecx, eax
jne 0x68a8f1
mov ebx, dword [esp + 0xb8]
cmp ebx, ecx
je 0x68ab78
mov ecx, dword [esp + 0x114]
mov eax, ecx
test bl, 0x18
je 0x68ab66
mov ecx, dword [esp + 0x1a0]
movq xmm0, qword [eax + 0xb2f1c0]
movq xmm1, qword [eax + 0xab47d0]
paddb xmm1, xmm0
movq qword [eax + 0xb2f1c0], xmm1
add eax, 8
cmp ecx, eax
jne 0x68a950
mov eax, ecx
mov ebx, dword [esp + 0xb8]
jmp 0x68ab74
xor ecx, ecx
mov edx, dword [esp + 0x94]
cmp edx, 8
jb 0x68aa32
xor eax, eax
cmp edx, 0x20
jb 0x68a9f7
xor eax, eax
mov ecx, dword [esp + 0xf8]
movdqa xmm0, xmmword [eax + 0xab48c0]
movdqa xmm1, xmmword [eax + 0xab48d0]
pxor xmm0, xmmword [eax + 0xb2f2b0]
pxor xmm1, xmmword [eax + 0xb2f2c0]
movdqa xmmword [eax + 0xb2f2b0], xmm0
movdqa xmmword [eax + 0xb2f2c0], xmm1
add eax, 0x20
cmp ecx, eax
jne 0x68a9a3
mov edx, dword [esp + 0x94]
cmp edx, ecx
je 0x68ab0c
mov ecx, dword [esp + 0xf8]
mov eax, ecx
test dl, 0x18
je 0x68aa32
mov esi, dword [esp + 0x138]
movq xmm0, qword [eax + 0xb2f2b0]
movq xmm1, qword [eax + 0xab48c0]
pxor xmm1, xmm0
movq qword [eax + 0xb2f2b0], xmm1
add eax, 8
cmp esi, eax
jne 0x68a9fe
mov ecx, esi
mov edx, dword [esp + 0x94]
cmp edx, esi
je 0x68ab0c
movzx eax, byte [ecx + 0xab48c0]
xor byte [ecx + 0xb2f2b0], al
inc ecx
cmp edx, ecx
jne 0x68aa32
jmp 0x68ab0c
xor ecx, ecx
mov edx, dword [esp + 0x94]
cmp edx, 8
jb 0x68aafa
xor eax, eax
cmp edx, 0x20
jb 0x68aabe
xor eax, eax
movdqa xmm0, xmmword [eax + 0xab48c0]
movdqa xmm1, xmmword [eax + 0xab48d0]
pxor xmm0, xmmword [eax + 0xb2f2b0]
pxor xmm1, xmmword [eax + 0xb2f2c0]
movdqa xmmword [eax + 0xb2f2b0], xmm0
movdqa xmmword [eax + 0xb2f2c0], xmm1
add eax, 0x20
cmp dword [esp + 0xf8], eax
jne 0x68aa64
mov edx, dword [esp + 0x94]
cmp edx, dword [esp + 0xf8]
je 0x68ab0c
mov ecx, dword [esp + 0xf8]
mov eax, ecx
test dl, 0x18
je 0x68aafa
movq xmm0, qword [eax + 0xb2f2b0]
movq xmm1, qword [eax + 0xab48c0]
pxor xmm1, xmm0
movq qword [eax + 0xb2f2b0], xmm1
add eax, 8
cmp dword [esp + 0x138], eax
jne 0x68aabe
mov eax, dword [esp + 0x138]
mov ecx, eax
mov edx, dword [esp + 0x94]
cmp edx, eax
je 0x68ab0c
movzx eax, byte [ecx + 0xab48c0]
xor byte [ecx + 0xb2f2b0], al
inc ecx
cmp edx, ecx
jne 0x68aafa
movzx eax, byte [esp + 0x4e]
xchg byte [0xb2f2ca], al
mov eax, dword [esp + 0x2f4]
mov dword [eax + 0x18], 0xb2f2b0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x40]
mov dword [eax], ecx
jmp 0x68abae
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x40]
mov dword [eax], ecx
mov edi, dword [esp + 0x24]
jmp 0x686ff5
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x40]
mov dword [eax], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
mov dword [esp + 8], ebx
jmp 0x686ff5
movzx eax, byte [ecx + 0xab47d0]
add byte [ecx + 0xb2f1c0], al
inc ecx
cmp ebx, ecx
jne 0x68ab66
movzx eax, byte [esp + 0x33]
xchg byte [0xb2f1d4], al
mov eax, dword [esp + 8]
add eax, dword [esp + 0xec]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2f4]
mov dword [eax + 0x18], 0xb2f1c0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x40]
mov dword [eax], ecx
mov dword [esp + 0xc], edx
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
jmp 0x686ff5
movzx ecx, byte [eax + 0xb2f1a0]
mov dl, byte [eax + 0xab47b0]
mov ch, dl
xor ch, cl
and dl, cl
add dl, dl
add dl, ch
mov byte [eax + 0xb2f1a0], dl
inc eax
cmp ebx, eax
jne 0x68abbb
mov al, dh
xchg byte [0xb2f1bb], al
mov dword [esi + 0x18], 0xb2f1a0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x40]
mov dword [eax], ecx
jmp 0x686ff5
movzx eax, byte [ecx + 0xab47f0]
add byte [ecx + 0xb2f1e0], al
inc ecx
cmp edx, ecx
jne 0x68abfb
mov eax, ebx
xchg byte [0xb2f1f9], al
mov dword [esi + 0x18], 0xb2f1e0
jmp 0x68abec
movzx eax, byte [ecx + 0xab4810]
xor byte [ecx + 0xb2f200], al
inc ecx
cmp ebx, ecx
jne 0x68ac1e
mov eax, edx
xchg byte [0xb2f214], al
mov dword [edi + 0x18], 0xb2f200
jmp 0x68ab31
movzx eax, byte [ecx + 0xab4850]
xor byte [ecx + 0xb2f240], al
inc ecx
cmp edx, ecx
jne 0x68ac44
mov eax, ebx
xchg byte [0xb2f25d], al
mov edx, dword [esp + 0x2f4]
mov dword [edx + 0x18], 0xb2f240
jmp 0x68abec
movzx eax, byte [ecx + 0xab4870]
xor byte [ecx + 0xb2f260], al
inc ecx
cmp edx, ecx
jne 0x68ac71
mov eax, ebx
xchg byte [0xb2f284], al
mov edx, dword [esp + 0x2f4]
mov dword [edx + 0x18], 0xb2f260
jmp 0x68abec
movzx eax, byte [ecx + 0xab4930]
xor byte [ecx + 0xb2f320], al
inc ecx
cmp edx, ecx
jne 0x68ac9e
movzx eax, byte [esp + 0x82]
xchg byte [0xb2f336], al
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x2f4]
mov dword [eax + 0x18], 0xb2f320
jmp 0x68ab44
movzx eax, byte [ecx + 0xab4970]
add byte [ecx + 0xb2f360], al
inc ecx
cmp ebx, ecx
jne 0x68acd9
movzx eax, byte [esp + 0x89]
xchg byte [0xb2f376], al
mov eax, dword [esp + 0x2f4]
mov dword [eax + 0x18], 0xb2f360
jmp 0x68abec
mov eax, dword [esp]
cmp esi, eax
cmovae esi, eax
mov ebx, dword [esp + 0x48]
cmp esi, ebx
cmovae esi, ebx
test esi, esi
mov edi, dword [esp + 0x24]
je 0x68b36b
push esi
push dword [esp + 8]
push dword [esp + 0x4c]
mov dword [esp + 0xc], eax
call fcn.0077cce0
add esp, 0xc
mov eax, dword [esp]
sub eax, esi
mov ecx, dword [esp + 4]
add ecx, esi
mov edx, dword [esp + 0x10]
sub dword [edx + 0x44], esi
sub ebx, esi
mov dword [esp + 0x48], ebx
add dword [esp + 0x44], esi
mov dword [esp + 4], ecx
mov dword [esp], eax
jmp 0x686ff1
mov eax, dword [esp + 8]
cmp eax, dword [esp + 0x34]
mov edi, dword [esp + 0x24]
jae 0x68adf1
mov eax, dword [esp]
test eax, eax
mov ebx, dword [esp + 0x28]
je 0x68b446
dec eax
mov dword [esp], eax
mov edx, dword [esp + 4]
movzx esi, byte [edx]
inc edx
mov ecx, dword [esp + 8]
mov edi, ecx
shl esi, cl
mov ecx, esi
mov eax, dword [esp + 0xc]
xor ecx, eax
and esi, eax
lea ecx, [ecx + esi*2]
add edi, dword [esp + 0x2c]
mov dword [esp + 4], edx
mov dword [esp + 8], edi
mov edi, dword [esp + 0x24]
jmp 0x68adf9
mov ecx, dword [esp + 0x48]
test ecx, ecx
mov ebp, dword [esp + 0x20]
je 0x68b36b
mov esi, dword [esp + 0x10]
movzx eax, byte [esi + 0x44]
mov edx, dword [esp + 0x44]
mov byte [edx], al
inc edx
mov dword [esp + 0x44], edx
dec ecx
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x15c]
mov dword [esi + 4], eax
mov edi, dword [esp + 0x24]
jmp 0x686ff1
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0xc]
mov eax, ecx
and eax, 1
mov edx, dword [esp + 0x10]
mov dword [edx + 8], eax
mov dword [esp + 0xc], ecx
mov eax, ecx
shr eax, 1
mov ecx, ebx
xor ecx, eax
xor ecx, 0x33bd5617
and ecx, eax
mov eax, 0x3f41
mov ebx, dword [esp + 0x34]
jmp dword [ecx*4 + 0xab4a98]
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x50], 0xab3f06
mov eax, dword [esp + 0x164]
mov dword [ecx + 0x58], eax
mov dword [ecx + 0x54], 0xab4706
mov eax, dword [esp + 0x130]
mov dword [ecx + 0x5c], eax
mov eax, dword [esp + 0x154]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0xa8]
cmp eax, dword [esp + 0x2f8]
jne 0x68af1c
jmp 0x68b713
mov eax, 0x3f44
jmp case.0x68ae22.0
movzx eax, byte [0xb2f233]
movzx ecx, byte [esp + 0x4f]
cmp al, cl
movzx edx, byte [esp + 0xd9]
mov ah, byte [esp + 0xd8]
je 0x68af03
mov al, dl
lock cmpxchg byte [0xb2f233], ah
je 0x68aeca
cmp al, cl
jne 0x68ae9b
jmp 0x68af03
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x1bc8], 0xffffffff
mov eax, dword [esp + 0xac]
mov dword [ecx + 4], eax
jmp 0x686ff1
xor eax, eax
mov edx, dword [esp + 0xc4]
movzx ecx, byte [eax + 0xab4830]
xor byte [eax + 0xb2f220], cl
mov ecx, eax
not ecx
xor eax, 1
and ecx, 0x7ffffffe
or ecx, eax
not ecx
lea eax, [eax + ecx*2]
cmp eax, edx
jl 0x68aed3
movzx eax, byte [esp + 0x4f]
xchg byte [0xb2f233], al
mov eax, dword [esp + 0x2f4]
mov dword [eax + 0x18], 0xb2f220
mov eax, 0x3f51
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
mov eax, dword [esp + 0xc]
mov ecx, ebx
shr eax, cl
mov ecx, dword [esp + 8]
add ecx, dword [esp + 0x9c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
jmp 0x686ff1
mov eax, dword [esp + 0x158]
shl eax, cl
mov esi, dword [esp + 0x10]
mov dword [esi + 0x18], eax
mov dword [esi + 0x14], 0
mov eax, dword [0xb2f430]
mov ebx, dword [0xb2f414]
xor ebx, dword [esp + 0x58]
sub ebx, dword [esp + 0x70]
add ebx, eax
mov ecx, ebx
call dword [0xb0836c]
xor ecx, ecx
xor edx, edx
push dword [esp + 0x124]
push 0
call ebx
add esp, 8
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0xc]
xor ecx, edx
xor ecx, 0xb3bd7614
test ecx, edx
mov dword [esi + 0x1c], eax
mov ecx, dword [esp + 0x1dc]
cmove ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x2f4]
mov dword [edx + 0x30], eax
mov dword [esi + 4], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov ebp, dword [esp + 0x20]
jmp 0x68ade8
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
cmp dword [esp + 4], 0
jle 0x68b27a
add ecx, eax
xor ebx, ebx
mov dword [esp + 8], esi
mov esi, dword [esp + 0x28]
mov eax, esi
xor eax, 0x86fce45a
mov dword [esp + 0x2c], eax
mov eax, esi
shr eax, 2
mov edx, esi
shl edx, 0x1e
xor edx, esi
xor edx, 0x3b47f13e
xor eax, 0x3fdb1b3d
mov edi, esi
shr edi, 1
mov ebp, esi
shl ebp, 0x1f
xor ebp, esi
xor ebp, 0x84b80ec1
xor edi, 0xf5151a4d
add ebp, edx
adc edi, eax
add ebp, 1
mov dword [esp + 0x44], ebp
adc edi, 0
mov dword [esp + 0x38], edi
mov eax, esi
shr eax, 3
mov edx, esi
shl edx, 0x1d
xor edx, esi
xor edx, 0x2c42a9e3
mov dword [esp + 0xa4], edx
xor eax, 0x988553d
mov dword [esp + 0x64], eax
imul edi, esi, 0x10
mov eax, edi
xor eax, 0xc42a9eb0
mov dword [esp + 0x7c], eax
mov eax, esi
xor eax, 0x4c42a9e3
mov dword [esp], eax
mov eax, esi
xor eax, 0x4c42a9ef
mov dword [esp + 0x18], eax
mov eax, esi
xor eax, 0x4c42a9e8
mov dword [esp + 0xf4], eax
imul eax, esi, 8
xor eax, 0xe3aa0b38
mov edx, esi
xor edx, 0xbde84b2
xor edi, 0xba6a252f
mov ebp, esi
xor ebp, 0xf4217b4d
add ebp, edx
mov dword [esp + 0x178], ebp
adc edi, eax
mov dword [esp + 0xc0], edi
mov eax, esi
xor eax, 0xb3bd5610
mov dword [esp + 0x174], eax
mov eax, dword [esp + 8]
xor esi, 0xb3bd561c
inc esi
mov dword [esp + 0x48], esi
mov edx, dword [0xb2f400]
mov dword [esp + 0x3c], edx
xor edi, edi
xor ebp, ebp
mov dword [esp + 0xc], 0
mov dword [esp + 0x34], 0
jmp 0x68b11d
xor edi, esi
mov ebp, dword [esp + 0x20]
xor ebp, ebx
mov ebx, dword [esp + 0x10]
add ebx, dword [esp]
cmp ebx, dword [esp + 4]
mov eax, dword [esp + 8]
jge 0x686414
mov dword [esp + 0x10], ebx
add ebx, eax
cmp dword [esp + 0x28], 0xe1fc363b
mov dword [esp + 0x20], ebp
jne 0x68b160
mov eax, ebx
not eax
add eax, ecx
mov esi, dword [esp + 0xc]
adc esi, 0xffffffff
mul ebx
imul esi, ebx
add esi, edx
cmp eax, dword [esp]
sbb esi, dword [esp + 0x7c]
mov edx, dword [esp + 0x18]
mov esi, dword [ebx + edx*8]
mov ebx, dword [ebx + edx*8 + 4]
jae 0x68b189
jmp 0x68b236
mov eax, dword [esp + 0x44]
add eax, ecx
mov edx, dword [esp + 0x38]
adc edx, dword [esp + 0xc]
sub eax, ebx
sbb edx, 0
cmp eax, dword [esp + 0xa4]
sbb edx, dword [esp + 0x64]
mov esi, dword [ebx]
mov ebx, dword [ebx + 4]
jge 0x68b236
mov dword [esp + 0xc4], esi
mov edx, eax
mov ecx, dword [esp + 0xf4]
shl edx, cl
xor esi, esi
test cl, 0x20
cmovne edx, esi
xor ebp, ebp
mov ecx, edx
mov esi, ebx
mov ebx, edi
mov edi, 1
shld ebp, edi, cl
mov dword [esp + 0x24], ebx
mov ebx, esi
mov esi, dword [esp + 0xc4]
shl edi, cl
test dl, 0x20
cmovne ebp, edi
mov dword [esp + 0xc], 0
mov ecx, 0
cmovne edi, ecx
add edi, dword [esp + 0x178]
adc ebp, dword [esp + 0xc0]
and ebx, ebp
and esi, edi
mov edi, dword [esp + 0x24]
mov ecx, eax
not ecx
mov ebp, dword [esp + 0x18]
and ecx, ebp
mov edx, dword [esp + 0x174]
and edx, eax
add edx, dword [esp + 0x48]
add edx, ecx
and eax, ebp
lea eax, [edx + eax*2]
mov ecx, eax
mov edx, dword [esp + 0x10]
xor ecx, edx
and eax, edx
lea eax, [ecx + eax*2]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x34]
lea ecx, [eax + edx*4]
add ecx, 4
add ecx, dword [eax + edx*4 + 4]
lea eax, [edx + 1]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x2c]
jne 0x68b100
sub edi, esi
mov ebp, dword [esp + 0x20]
sbb ebp, ebx
mov eax, edi
mul esi
imul edi, ebx
add edx, edi
imul ebp, esi
add ebp, edx
xor ebp, ebx
mov edi, eax
xor edi, esi
mov eax, dword [esp]
mov esi, dword [esp + 0x10]
sub eax, esi
mov edx, eax
sub edx, esi
add edx, 2
imul edx, eax
mov ebx, edx
jmp 0x68b10f
xor edi, edi
xor ebp, ebp
jmp 0x686414
mov edx, dword [esp]
mov eax, edx
mov ecx, dword [esp + 0x34]
shl eax, cl
mov ecx, dword [esp + 4]
add ecx, edx
jmp 0x68b2cc
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x14]
add edx, eax
mov ecx, dword [esp + 0x34]
shl eax, cl
add eax, ebx
mov dword [esp + 4], edx
mov dword [esp], 0
mov dword [esp + 8], eax
jmp 0x68b479
mov dword [esp + 0xc], ebp
mov eax, edi
mov ecx, ebx
shl eax, cl
mov ecx, dword [esp + 4]
add ecx, edi
mov edx, dword [esp + 8]
add edx, eax
mov dword [esp + 4], ecx
mov dword [esp], 0
mov dword [esp + 8], edx
jmp 0x68b479
mov dword [esp], 0
jmp 0x68b36b
mov dword [esp + 0xc], ebp
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x38]
imul eax, ecx
add ebx, eax
mov eax, dword [esp + 0x14]
add eax, ecx
jmp 0x68b3c4
mov eax, dword [esp]
sub eax, edi
mov ecx, dword [esp + 4]
jmp 0x68b362
mov eax, dword [esp + 4]
mov edx, dword [esp]
xor esi, esi
jmp 0x68b3e7
mov eax, dword [esp + 4]
mov edx, dword [esp]
add eax, edx
mov ecx, dword [esp + 0x34]
shl edx, cl
mov ecx, dword [esp + 0x28]
xor ecx, 0x8c8c1c9d
mov esi, dword [esp + 8]
sub esi, ecx
mov edi, esi
xor edi, edx
and esi, edx
add edi, ecx
lea ecx, [edi + esi*2]
mov dword [esp + 4], eax
jmp 0x68b46e
sub eax, dword [esp + 0x16c]
sub eax, edi
mov ecx, ebp
add ecx, edi
mov dword [esp + 4], ecx
mov dword [esp], eax
mov ecx, dword [esp + 0x1c]
mov ebp, ecx
jmp case.0x687019.29
mov dword [esp + 0xc], ebp
jmp 0x68b446
mov eax, dword [esp + 0x2f4]
mov ecx, dword [esp + 0x44]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 4]
mov dword [eax], ecx
mov ecx, dword [esp]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x3c], eax
mov eax, dword [esp + 8]
mov dword [ecx + 0x40], eax
mov ebx, 2
jmp 0x68b6f8
mov dword [esp + 0xc], ebp
mov eax, dword [esp + 0x14]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 8], ebx
jmp 0x68b479
mov eax, dword [esp + 4]
mov edx, dword [esp]
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 8]
mov edi, dword [esp + 0x28]
jmp 0x68b3f4
mov eax, edx
mov edx, dword [esp]
mov esi, ebx
xor edi, 0x4c4296bb
mov ebx, dword [esp + 0x18]
mov dword [ebx], edi
mov ebp, 1
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], esi
jmp case.0x687019.29
mov dword [esp + 4], ebx
mov dword [esp + 0xc], edi
jmp 0x68b446
mov ebx, 0xfffffffe
jmp 0x68b6f8
mov dword [esp + 8], ebp
mov dword [esp + 4], eax
jmp 0x68b446
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
mov dword [esp + 4], ecx
jmp 0x68b446
mov dword [esp + 0xc], edx
mov dword [esp], 0
jmp 0x68b479
mov dword [esp + 8], 0
jmp 0x68b36b
mov dword [esp + 0xc], ebp
mov dword [esp + 4], edx
jmp 0x68b46e
mov dword [esp + 0xc], ebp
mov dword [esp + 4], esi
mov dword [esp], 0
mov dword [esp + 8], ecx
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x2f4]
mov eax, dword [esp + 0x44]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x48]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 4]
mov dword [ebx], eax
mov eax, dword [esp]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x3c], eax
mov eax, dword [esp + 8]
mov dword [ecx + 0x40], eax
mov dword [0xb2f3e0], 0x4c42a9eb
cmp dword [ecx + 0x2c], 0
mov edi, dword [esp + 0x60]
je 0x68b52c
sub edi, dword [ebx + 0x10]
mov eax, dword [ebx + 0xc]
mov dword [esp], eax
mov eax, dword [0xb2f444]
mov esi, dword [0xb2f41c]
add esi, dword [esp + 0xa0]
add esi, eax
mov ebx, dword [esp + 0x28]
xor ebx, 0x24ea161e
mov ecx, esi
call dword [0xb0836c]
mov ecx, dword [esp + 0x2f4]
mov edx, dword [esp]
push ebx
mov ebx, dword [esp + 0x2f8]
push edi
call esi
mov edi, dword [esp + 0x68]
add esp, 8
test eax, eax
je 0x68b564
mov eax, dword [esp + 0x28]
xor eax, 0x4c4296b9
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
mov ebx, 0xfffffffc
jmp 0x68b6f8
cmp byte [0xb53780], 0
jne 0x68b564
cmp edi, dword [ebx + 0x10]
je 0x68b564
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
cmp eax, dword [esp + 0x40]
jge 0x68b564
mov ecx, dword [esp + 0x3c]
cmp ecx, dword [esp + 0x2f8]
jne 0x68b4c4
cmp eax, dword [esp + 0x1c0]
jl 0x68b4c4
cmp dword [esp + 0x2b4], 0xffffffff
sete al
mov ecx, dword [ebx + 4]
mov dword [esp], ecx
mov esi, dword [ebx + 0x10]
mov edx, ebx
mov ebx, edi
mov ecx, dword [esp + 0x20]
xor ecx, dword [0xab49ec]
mov dword [esp + 0x20], esi
sub ebx, esi
mov esi, dword [esp + 0x24]
xor esi, dword [0xab49e8]
or esi, ecx
setne cl
and cl, al
or cl, byte [0xb532ad]
and cl, 1
mov byte [0xb532ad], cl
mov eax, dword [esp + 0x1cc]
sub eax, dword [esp]
add dword [edx + 8], eax
mov eax, dword [edx + 0x14]
mov ecx, eax
xor ecx, ebx
and eax, ebx
lea eax, [ecx + eax*2]
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x10]
add dword [eax + 0x20], ebx
mov ecx, dword [esp + 0x3c]
test dword [eax + 0xc], ecx
je 0x68b66f
cmp edi, dword [esp + 0x20]
je 0x68b66f
mov eax, dword [esp + 0x2f4]
mov esi, dword [eax + 0xc]
sub esi, ebx
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x14], 0
mov eax, dword [eax + 0x1c]
mov dword [esp + 0xc], eax
je 0x68b62b
mov eax, dword [0xb2f438]
mov edi, dword [esp + 0xa0]
add edi, dword [0xb2f424]
add edi, eax
mov ecx, edi
call dword [0xb0836c]
mov ecx, dword [esp + 0xc]
mov edx, esi
push dword [esp + 0x78]
jmp 0x68b655
mov eax, dword [0xb2f430]
mov edi, dword [esp + 0x58]
xor edi, dword [0xb2f414]
sub edi, dword [esp + 0x70]
add edi, eax
mov ecx, edi
call dword [0xb0836c]
mov ecx, dword [esp + 0xc]
mov edx, esi
push dword [esp + 0x124]
push ebx
call edi
add esp, 8
mov ecx, dword [esp + 0x54]
mov dword [ecx], eax
mov ecx, dword [esp + 0x2f4]
mov dword [ecx + 0x30], eax
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x28]
mov eax, esi
xor eax, 0x4c42a9ab
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 8]
test ecx, ecx
cmove eax, ecx
add eax, dword [edx + 0x40]
mov edx, dword [edx + 4]
xor esi, 0x4c42a96b
xor ecx, ecx
cmp edx, dword [esp + 0xac]
cmovne esi, ecx
cmp edx, dword [esp + 0x1c4]
mov ebx, edi
mov edi, dword [esp + 0x158]
cmove ecx, edi
cmp edx, dword [esp + 0x154]
cmove ecx, edi
add ecx, esi
add ecx, eax
mov esi, dword [esp + 0x1cc]
xor esi, dword [esp]
xor ebx, dword [esp + 0x20]
test ebp, ebp
mov edx, dword [esp + 0x134]
cmovne edx, ebp
mov eax, dword [esp + 0x2f4]
mov dword [eax + 0x2c], ecx
or ebx, esi
cmove ebp, edx
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x2f8]
cmove ebp, edx
mov ebx, ebp
mov ecx, dword [esp + 0x2dc]
xor ecx, esp
call fcn.0076521b
mov eax, ebx
add esp, 0x2e0
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0xc]
mov ecx, ebx
shr eax, cl
mov ecx, dword [esp + 8]
add ecx, dword [esp + 0x9c]
mov dword [esp + 0xc], eax
jmp 0x68b475
mov dword [esp + 0xc], edx
jmp 0x68b34e
mov dword [esp + 0xc], ebx
jmp 0x68b34e
mov dword [esp + 0xc], edx
mov dword [esp + 4], edi
jmp 0x68b46e
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
jmp 0x68b43c
mov dword [esp + 0xc], ebp
jmp 0x68b42e
mov dword [esp + 0xc], ebp
jmp 0x68b43c