// File: /workspace/github_c_makefile_star2_O2/Tarsnap[P]kivaloo/perftests/dynamodb_kv/main.c
// Function: main
int
main(int argc, char * argv[])
{
	struct sock_addr ** sas;
	int s;
	struct wire_requestqueue * Q;
	struct status C;

	WARNP_INIT;

	/* Check number of arguments. */
	if (argc != 2) {
		fprintf(stderr, "usage: dynamodb_kv %s\n",
		    "<socketname>");
		exit(1);
	}

	/* Resolve the socket address and connect. */
	if ((sas = sock_resolve(argv[1])) == NULL) {
		warnp("Error resolving socket address: %s", argv[1]);
		exit(1);
	}
	if (sas[0] == NULL) {
		warn0("No addresses found for %s", argv[1]);
		exit(1);
	}
	if ((s = sock_connect(sas)) == -1)
		exit(1);

	/* Create a request queue. */
	if ((Q = wire_requestqueue_init(s)) == NULL) {
		warnp("Cannot create packet write queue");
		exit(1);
	}

	/* Send DELETE request. */
	C.done = 0;
	fprintf(stderr, "DELETE \"key\"\n");
	if (proto_dynamodb_kv_request_delete(Q, "key", callback_status, &C)) {
		warnp("proto_dynamodb_kv_request_delete");
		exit(1);
	}
	if (events_spin(&C.done)) {
		warnp("events_spin");
		exit(1);
	}
	if (C.status) {
		warn0("DELETE returned status %d", C.status);
		exit(1);
	}

	/* Send Consistent GET request. */
	C.done = 0;
	fprintf(stderr, "GET \"key\"\n");
	if (proto_dynamodb_kv_request_getc(Q, "key", callback_get, &C)) {
		warnp("proto_dynamodb_kv_request_getc");
		exit(1);
	}
	if (events_spin(&C.done)) {
		warnp("events_spin");
		exit(1);
	}
	if (C.status != 2) {
		warn0("Consistent GET returned status %d", C.status);
		exit(1);
	}

	/* Send PUT request. */
	C.done = 0;
	fprintf(stderr, "PUT \"key\" = \"value\"\n");
	if (proto_dynamodb_kv_request_put(Q, "key",
	    (const uint8_t *)"value", 5, callback_status, &C)) {
		warnp("proto_dynamodb_kv_request_put");
		exit(1);
	}
	if (events_spin(&C.done)) {
		warnp("events_spin");
		exit(1);
	}
	if (C.status) {
		warn0("PUT returned status %d", C.status);
		exit(1);
	}

	/* Send GET request. */
	C.done = 0;
	fprintf(stderr, "GET \"key\"\n");
	if (proto_dynamodb_kv_request_get(Q, "key", callback_get, &C)) {
		warnp("proto_dynamodb_kv_request_get");
		exit(1);
	}
	if (events_spin(&C.done)) {
		warnp("events_spin");
		exit(1);
	}
	if (C.status) {
		warn0("GET returned status %d", C.status);
		exit(1);
	}

	/* Send (faulty) ICAS request. */
	C.done = 0;
	fprintf(stderr, "ICAS \"key\" \"value2\" -> \"value3\"\n");
	if (proto_dynamodb_kv_request_icas(Q, "key",
	    (const uint8_t *)"value2", 6, (const uint8_t *)"value3", 6,
	    callback_status, &C)) {
		warnp("proto_dynamodb_kv_request_icas");
		exit(1);
	}
	if (events_spin(&C.done)) {
		warnp("events_spin");
		exit(1);
	}
	if (C.status != 2) {
		warn0("Faulty ICAS returned status %d", C.status);
		exit(1);
	}

	/* Send GET request. */
	C.done = 0;
	fprintf(stderr, "GET \"key\"\n");
	if (proto_dynamodb_kv_request_get(Q, "key", callback_get, &C)) {
		warnp("proto_dynamodb_kv_request_get");
		exit(1);
	}
	if (events_spin(&C.done)) {
		warnp("events_spin");
		exit(1);
	}
	if (C.status) {
		warn0("GET returned status %d", C.status);
		exit(1);
	}

	/* Send (legitimate) ICAS request. */
	C.done = 0;
	fprintf(stderr, "ICAS \"key\" \"value\" -> \"value2\"\n");
	if (proto_dynamodb_kv_request_icas(Q, "key",
	    (const uint8_t *)"value", 5, (const uint8_t *)"value2", 6,
	    callback_status, &C)) {
		warnp("proto_dynamodb_kv_request_icas");
		exit(1);
	}
	if (events_spin(&C.done)) {
		warnp("events_spin");
		exit(1);
	}
	if (C.status) {
		warn0("ICAS returned status %d", C.status);
		exit(1);
	}

	/* Send GET request. */
	C.done = 0;
	fprintf(stderr, "GET \"key\"\n");
	if (proto_dynamodb_kv_request_get(Q, "key", callback_get, &C)) {
		warnp("proto_dynamodb_kv_request_get");
		exit(1);
	}
	if (events_spin(&C.done)) {
		warnp("events_spin");
		exit(1);
	}
	if (C.status) {
		warn0("GET returned status %d", C.status);
		exit(1);
	}

	/* Send (legitimate) ICAS request. */
	C.done = 0;
	fprintf(stderr, "ICAS \"key\" \"value\" -> \"value2\"\n");
	if (proto_dynamodb_kv_request_icas(Q, "key",
	    (const uint8_t *)"value", 5, (const uint8_t *)"value2", 6,
	    callback_status, &C)) {
		warnp("proto_dynamodb_kv_request_icas");
		exit(1);
	}
	if (events_spin(&C.done)) {
		warnp("events_spin");
		exit(1);
	}
	if (C.status) {
		warn0("ICAS returned status %d", C.status);
		exit(1);
	}

	/* Send GET request. */
	C.done = 0;
	fprintf(stderr, "GET \"key\"\n");
	if (proto_dynamodb_kv_request_get(Q, "key", callback_get, &C)) {
		warnp("proto_dynamodb_kv_request_get");
		exit(1);
	}
	if (events_spin(&C.done)) {
		warnp("events_spin");
		exit(1);
	}
	if (C.status) {
		warn0("GET returned status %d", C.status);
		exit(1);
	}

	/* Send (faulty) CREATE request. */
	C.done = 0;
	fprintf(stderr, "CREATE \"key\" = \"value\"\n");
	if (proto_dynamodb_kv_request_create(Q, "key",
	    (const uint8_t *)"value", 5, callback_status, &C)) {
		warnp("proto_dynamodb_kv_request_create");
		exit(1);
	}
	if (events_spin(&C.done)) {
		warnp("events_spin");
		exit(1);
	}
	if (C.status != 2) {
		warn0("Faulty CREATE returned status %d", C.status);
		exit(1);
	}

	/* Send GET request. */
	C.done = 0;
	fprintf(stderr, "GET \"key\"\n");
	if (proto_dynamodb_kv_request_get(Q, "key", callback_get, &C)) {
		warnp("proto_dynamodb_kv_request_get");
		exit(1);
	}
	if (events_spin(&C.done)) {
		warnp("events_spin");
		exit(1);
	}
	if (C.status) {
		warn0("GET returned status %d", C.status);
		exit(1);
	}

	/* Send DELETE request. */
	C.done = 0;
	fprintf(stderr, "DELETE \"key\"\n");
	if (proto_dynamodb_kv_request_delete(Q, "key", callback_status, &C)) {
		warnp("proto_dynamodb_kv_request_delete");
		exit(1);
	}
	if (events_spin(&C.done)) {
		warnp("events_spin");
		exit(1);
	}
	if (C.status) {
		warn0("DELETE returned status %d", C.status);
		exit(1);
	}

	/* Send (legitimate) CREATE request. */
	C.done = 0;
	fprintf(stderr, "CREATE \"key\" = \"value\"\n");
	if (proto_dynamodb_kv_request_create(Q, "key",
	    (const uint8_t *)"value", 5, callback_status, &C)) {
		warnp("proto_dynamodb_kv_request_create");
		exit(1);
	}
	if (events_spin(&C.done)) {
		warnp("events_spin");
		exit(1);
	}
	if (C.status) {
		warn0("CREATE returned status %d", C.status);
		exit(1);
	}

	/* Send GET request. */
	C.done = 0;
	fprintf(stderr, "GET \"key\"\n");
	if (proto_dynamodb_kv_request_get(Q, "key", callback_get, &C)) {
		warnp("proto_dynamodb_kv_request_get");
		exit(1);
	}
	if (events_spin(&C.done)) {
		warnp("events_spin");
		exit(1);
	}
	if (C.status) {
		warn0("GET returned status %d", C.status);
		exit(1);
	}

	/* Send (legitimate) CREATE request. */
	C.done = 0;
	fprintf(stderr, "CREATE \"key\" = \"value\"\n");
	if (proto_dynamodb_kv_request_create(Q, "key",
	    (const uint8_t *)"value", 5, callback_status, &C)) {
		warnp("proto_dynamodb_kv_request_create");
		exit(1);
	}
	if (events_spin(&C.done)) {
		warnp("events_spin");
		exit(1);
	}
	if (C.status) {
		warn0("CREATE returned status %d", C.status);
		exit(1);
	}

	/* Free the request queue. */
	wire_requestqueue_destroy(Q);
	wire_requestqueue_free(Q);

	/* Free socket addresses. */
	sock_addr_freelist(sas);

	/* Success! */
	exit(0);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x10, %rsp
movq %rsi, %r14
movl %edi, %ebx
movq (%rsi), %rdi
testq %rdi, %rdi
je 0x241b
callq 0x4f64
cmpl $0x2, %ebx
jne 0x2ba5
movq 0x8(%r14), %rdi
callq 0x40ec
testq %rax, %rax
je 0x2bc9
movq %rax, %rbx
cmpq $0x0, (%rax)
je 0x2bee
movq %rbx, %rdi
callq 0x48c5
cmpl $-0x1, %eax
je 0x2b27
movl %eax, %edi
callq 0x5cbc
testq %rax, %rax
je 0x2c05
movq %rax, %r14
leaq 0x8(%rsp), %r15
andl $0x0, (%r15)
movq 0xcb81(%rip), %r13      # 0xeff8
movq (%r13), %rcx
leaq 0x6c04(%rip), %rdi      # 0x9086
pushq $0xd
popq %rsi
pushq $0x1
popq %rdx
callq 0x22a0
leaq 0x6c00(%rip), %rsi      # 0x9094
leaq 0x836(%rip), %rdx       # 0x2cd1
movq %r14, %rdi
movq %r15, %rcx
callq 0x5b95
testl %eax, %eax
jne 0x2b6a
leaq 0x8(%rsp), %rdi
callq 0x3013
testl %eax, %eax
jne 0x2ad5
movl 0xc(%rsp), %esi
testl %esi, %esi
jne 0x2b84
leaq 0x8(%rsp), %r15
andl $0x0, (%r15)
movq (%r13), %rcx
leaq 0x6bff(%rip), %rdi      # 0x90df
pushq $0xa
popq %rsi
pushq $0x1
popq %rdx
callq 0x22a0
leaq 0x6ba2(%rip), %rsi      # 0x9094
leaq 0x7e4(%rip), %rdx       # 0x2cdd
movq %r14, %rdi
movq %r15, %rcx
callq 0x5a75
testl %eax, %eax
jne 0x2c1f
leaq 0x8(%rsp), %rdi
callq 0x3013
testl %eax, %eax
jne 0x2ad5
movl 0xc(%rsp), %esi
cmpl $0x2, %esi
jne 0x2c39
leaq 0x8(%rsp), %r12
andl $0x0, (%r12)
movq (%r13), %rcx
leaq 0x6beb(%rip), %rdi      # 0x912b
pushq $0x14
popq %rsi
pushq $0x1
popq %rdx
callq 0x22a0
leaq 0x6b42(%rip), %rsi      # 0x9094
leaq 0x6be7(%rip), %rdx      # 0x9140
leaq 0x771(%rip), %r15       # 0x2cd1
pushq $0x5
popq %rcx
movq %r14, %rdi
movq %r15, %r8
movq %r12, %r9
callq 0x52f4
testl %eax, %eax
jne 0x2c45
leaq 0x8(%rsp), %rdi
callq 0x3013
testl %eax, %eax
jne 0x2ad5
movl 0xc(%rsp), %esi
testl %esi, %esi
jne 0x2c5b
leaq 0x8(%rsp), %r12
andl $0x0, (%r12)
movq (%r13), %rcx
leaq 0x6b33(%rip), %rdi      # 0x90df
pushq $0xa
popq %rsi
pushq $0x1
popq %rdx
callq 0x22a0
leaq 0x6ad6(%rip), %rsi      # 0x9094
leaq 0x718(%rip), %rdx       # 0x2cdd
movq %r14, %rdi
movq %r12, %rcx
callq 0x5858
testl %eax, %eax
jne 0x2b2f
leaq 0x8(%rsp), %r12
movq %r12, %rdi
callq 0x3013
testl %eax, %eax
jne 0x2ad5
movl 0xc(%rsp), %esi
testl %esi, %esi
jne 0x2b42
andl $0x0, 0x8(%rsp)
movq (%r13), %rcx
leaq 0x6b90(%rip), %rdi      # 0x9199
pushq $0x20
popq %rsi
pushq $0x1
popq %rdx
callq 0x22a0
leaq 0x6a79(%rip), %rsi      # 0x9094
leaq 0x6b98(%rip), %rdx      # 0x91ba
leaq 0x6b98(%rip), %r8       # 0x91c1
pushq $0x6
popq %rcx
movq %r14, %rdi
movq %rcx, %r9
pushq %r12
pushq %r15
callq 0x54e6
popq %rcx
popq %rdx
testl %eax, %eax
jne 0x2b4b
leaq 0x8(%rsp), %rdi
callq 0x3013
testl %eax, %eax
jne 0x2ad5
movl 0xc(%rsp), %esi
cmpl $0x2, %esi
jne 0x2c67
leaq 0x8(%rsp), %r12
andl $0x0, (%r12)
movq (%r13), %rcx
leaq 0x6a66(%rip), %rdi      # 0x90df
pushq $0xa
popq %rsi
pushq $0x1
popq %rdx
callq 0x22a0
leaq 0x6a09(%rip), %rsi      # 0x9094
leaq 0x64b(%rip), %rdx       # 0x2cdd
movq %r14, %rdi
movq %r12, %rcx
callq 0x5858
testl %eax, %eax
jne 0x2b2f
leaq 0x8(%rsp), %r12
movq %r12, %rdi
callq 0x3013
testl %eax, %eax
jne 0x2ad5
movl 0xc(%rsp), %esi
testl %esi, %esi
jne 0x2b42
andl $0x0, 0x8(%rsp)
movq (%r13), %rcx
leaq 0x6b30(%rip), %rdi      # 0x9206
pushq $0x1f
popq %rsi
pushq $0x1
popq %rdx
callq 0x22a0
leaq 0x69ac(%rip), %rsi      # 0x9094
leaq 0x6a51(%rip), %rdx      # 0x9140
leaq 0x6ac4(%rip), %r8       # 0x91ba
pushq $0x5
popq %rcx
pushq $0x6
popq %r9
movq %r14, %rdi
pushq %r12
pushq %r15
callq 0x54e6
popq %rcx
popq %rdx
testl %eax, %eax
jne 0x2b4b
leaq 0x8(%rsp), %rdi
callq 0x3013
testl %eax, %eax
jne 0x2ad5
movl 0xc(%rsp), %esi
testl %esi, %esi
jne 0x2b8d
leaq 0x8(%rsp), %r12
andl $0x0, (%r12)
movq (%r13), %rcx
leaq 0x6999(%rip), %rdi      # 0x90df
pushq $0xa
popq %rsi
pushq $0x1
popq %rdx
callq 0x22a0
leaq 0x693c(%rip), %rsi      # 0x9094
leaq 0x57e(%rip), %rdx       # 0x2cdd
movq %r14, %rdi
movq %r12, %rcx
callq 0x5858
testl %eax, %eax
jne 0x2b2f
leaq 0x8(%rsp), %r12
movq %r12, %rdi
callq 0x3013
testl %eax, %eax
jne 0x2ad5
movl 0xc(%rsp), %esi
testl %esi, %esi
jne 0x2b42
andl $0x0, 0x8(%rsp)
movq (%r13), %rcx
leaq 0x6a63(%rip), %rdi      # 0x9206
pushq $0x1f
popq %rsi
pushq $0x1
popq %rdx
callq 0x22a0
leaq 0x68df(%rip), %rsi      # 0x9094
leaq 0x6984(%rip), %rdx      # 0x9140
leaq 0x69f7(%rip), %r8       # 0x91ba
pushq $0x5
popq %rcx
pushq $0x6
popq %r9
movq %r14, %rdi
pushq %r12
pushq %r15
callq 0x54e6
popq %rcx
popq %rdx
testl %eax, %eax
jne 0x2b4b
leaq 0x8(%rsp), %rdi
callq 0x3013
testl %eax, %eax
jne 0x2ad5
movl 0xc(%rsp), %esi
testl %esi, %esi
jne 0x2b8d
leaq 0x8(%rsp), %r15
andl $0x0, (%r15)
movq (%r13), %rcx
leaq 0x68cd(%rip), %rdi      # 0x90df
pushq $0xa
popq %rsi
pushq $0x1
popq %rdx
callq 0x22a0
leaq 0x6870(%rip), %rsi      # 0x9094
leaq 0x4b2(%rip), %rdx       # 0x2cdd
movq %r14, %rdi
movq %r15, %rcx
callq 0x5858
testl %eax, %eax
jne 0x2b2f
leaq 0x8(%rsp), %rdi
callq 0x3013
testl %eax, %eax
jne 0x2ad5
movl 0xc(%rsp), %esi
testl %esi, %esi
jne 0x2b42
leaq 0x8(%rsp), %r15
andl $0x0, (%r15)
movq (%r13), %rcx
leaq 0x69b6(%rip), %rdi      # 0x9226
pushq $0x17
popq %rsi
pushq $0x1
popq %rdx
callq 0x22a0
leaq 0x6812(%rip), %rsi      # 0x9094
leaq 0x68b7(%rip), %rdx      # 0x9140
leaq 0x441(%rip), %r8        # 0x2cd1
pushq $0x5
popq %rcx
movq %r14, %rdi
movq %r15, %r9
callq 0x56d1
testl %eax, %eax
jne 0x2ac2
leaq 0x8(%rsp), %rdi
callq 0x3013
testl %eax, %eax
jne 0x2ad5
movl 0xc(%rsp), %esi
cmpl $0x2, %esi
jne 0x2c82
leaq 0x8(%rsp), %r15
andl $0x0, (%r15)
movq (%r13), %rcx
leaq 0x6806(%rip), %rdi      # 0x90df
pushq $0xa
popq %rsi
pushq $0x1
popq %rdx
callq 0x22a0
leaq 0x67a9(%rip), %rsi      # 0x9094
leaq 0x3eb(%rip), %rdx       # 0x2cdd
movq %r14, %rdi
movq %r15, %rcx
callq 0x5858
testl %eax, %eax
jne 0x2b2f
leaq 0x8(%rsp), %rdi
callq 0x3013
testl %eax, %eax
jne 0x2ad5
movl 0xc(%rsp), %esi
testl %esi, %esi
jne 0x2b42
leaq 0x8(%rsp), %r15
andl $0x0, (%r15)
movq (%r13), %rcx
leaq 0x674f(%rip), %rdi      # 0x9086
pushq $0xd
popq %rsi
pushq $0x1
popq %rdx
callq 0x22a0
leaq 0x674b(%rip), %rsi      # 0x9094
leaq 0x381(%rip), %rdx       # 0x2cd1
movq %r14, %rdi
movq %r15, %rcx
callq 0x5b95
testl %eax, %eax
jne 0x2b6a
leaq 0x8(%rsp), %rdi
callq 0x3013
testl %eax, %eax
jne 0x2ad5
movl 0xc(%rsp), %esi
testl %esi, %esi
jne 0x2b84
leaq 0x8(%rsp), %r15
andl $0x0, (%r15)
movq (%r13), %rcx
leaq 0x6891(%rip), %rdi      # 0x9226
pushq $0x17
popq %rsi
pushq $0x1
popq %rdx
callq 0x22a0
leaq 0x66ed(%rip), %rsi      # 0x9094
leaq 0x6792(%rip), %rdx      # 0x9140
leaq 0x31c(%rip), %r8        # 0x2cd1
pushq $0x5
popq %rcx
movq %r14, %rdi
movq %r15, %r9
callq 0x56d1
testl %eax, %eax
jne 0x2ac2
leaq 0x8(%rsp), %rdi
callq 0x3013
testl %eax, %eax
jne 0x2ad5
movl 0xc(%rsp), %esi
testl %esi, %esi
jne 0x2b11
leaq 0x8(%rsp), %r15
andl $0x0, (%r15)
movq (%r13), %rcx
leaq 0x66e2(%rip), %rdi      # 0x90df
pushq $0xa
popq %rsi
pushq $0x1
popq %rdx
callq 0x22a0
leaq 0x6685(%rip), %rsi      # 0x9094
leaq 0x2c7(%rip), %rdx       # 0x2cdd
movq %r14, %rdi
movq %r15, %rcx
callq 0x5858
testl %eax, %eax
jne 0x2b2f
leaq 0x8(%rsp), %rdi
callq 0x3013
testl %eax, %eax
jne 0x2ad5
movl 0xc(%rsp), %esi
testl %esi, %esi
jne 0x2b42
leaq 0x8(%rsp), %r15
andl $0x0, (%r15)
movq (%r13), %rcx
leaq 0x67cb(%rip), %rdi      # 0x9226
pushq $0x17
popq %rsi
pushq $0x1
popq %rdx
callq 0x22a0
leaq 0x6627(%rip), %rsi      # 0x9094
leaq 0x66cc(%rip), %rdx      # 0x9140
leaq 0x256(%rip), %r8        # 0x2cd1
pushq $0x5
popq %rcx
movq %r14, %rdi
movq %r15, %r9
callq 0x56d1
testl %eax, %eax
jne 0x2ac2
leaq 0x8(%rsp), %rdi
callq 0x3013
testl %eax, %eax
jne 0x2ad5
movl 0xc(%rsp), %esi
testl %esi, %esi
jne 0x2b11
movq %r14, %rdi
callq 0x619f
movq %r14, %rdi
callq 0x61b3
movq %rbx, %rdi
callq 0x46eb
xorl %edi, %edi
callq 0x2280
callq 0x2090
cmpl $0x0, (%rax)
jne 0x2aef
leaq 0x676b(%rip), %rdi      # 0x923e
jmp 0x2ae6
callq 0x2090
cmpl $0x0, (%rax)
jne 0x2afb
leaq 0x65d3(%rip), %rdi      # 0x90b9
xorl %eax, %eax
callq 0x5170
jmp 0x2b27
movq %rax, %rbx
leaq 0x6745(%rip), %rdi      # 0x923e
jmp 0x2b05
movq %rax, %rbx
leaq 0x65b4(%rip), %rdi      # 0x90b9
xorl %eax, %eax
callq 0x4fe1
andl $0x0, (%rbx)
jmp 0x2b27
leaq 0x674e(%rip), %rdi      # 0x9266
xorl %eax, %eax
callq 0x5170
callq 0x2090
andl $0x0, (%rax)
pushq $0x1
popq %rdi
callq 0x2280
callq 0x2090
cmpl $0x0, (%rax)
jne 0x2b5e
leaq 0x663b(%rip), %rdi      # 0x917b
jmp 0x2ae6
leaq 0x65cb(%rip), %rdi      # 0x9114
jmp 0x2b18
callq 0x2090
cmpl $0x0, (%rax)
jne 0x2b96
leaq 0x666c(%rip), %rdi      # 0x91c8
jmp 0x2ae6
movq %rax, %rbx
leaq 0x6613(%rip), %rdi      # 0x917b
jmp 0x2b05
callq 0x2090
cmpl $0x0, (%rax)
jne 0x2c73
leaq 0x6519(%rip), %rdi      # 0x9098
jmp 0x2ae6
leaq 0x653a(%rip), %rdi      # 0x90c5
jmp 0x2b18
leaq 0x665a(%rip), %rdi      # 0x91ee
jmp 0x2b18
movq %rax, %rbx
leaq 0x6628(%rip), %rdi      # 0x91c8
jmp 0x2b05
movq 0xc44c(%rip), %rax      # 0xeff8
movq (%rax), %rdi
leaq 0x644e(%rip), %rsi      # 0x9004
leaq 0x645e(%rip), %rdx      # 0x901b
xorl %eax, %eax
callq 0x21a0
jmp 0x2b27
callq 0x2090
cmpl $0x0, (%rax)
movq 0x8(%r14), %rsi
jne 0x2c8e
leaq 0x6446(%rip), %rdi      # 0x9028
xorl %eax, %eax
callq 0x5170
jmp 0x2b27
movq 0x8(%r14), %rsi
leaq 0x6452(%rip), %rdi      # 0x904b
xorl %eax, %eax
callq 0x5170
jmp 0x2b1f
callq 0x2090
cmpl $0x0, (%rax)
jne 0x2ca4
leaq 0x644b(%rip), %rdi      # 0x9065
jmp 0x2ae6
callq 0x2090
cmpl $0x0, (%rax)
jne 0x2cb3
leaq 0x64b6(%rip), %rdi      # 0x90ea
jmp 0x2ae6
leaq 0x64c9(%rip), %rdi      # 0x9109
jmp 0x2b18
callq 0x2090
cmpl $0x0, (%rax)
jne 0x2cc2
leaq 0x64f0(%rip), %rdi      # 0x9146
jmp 0x2ae6
leaq 0x6502(%rip), %rdi      # 0x9164
jmp 0x2b18
leaq 0x6579(%rip), %rdi      # 0x91e7
jmp 0x2b18
movq %rax, %rbx
leaq 0x641b(%rip), %rdi      # 0x9098
jmp 0x2b05
leaq 0x65d6(%rip), %rdi      # 0x925f
jmp 0x2b18
movq %rax, %rbx
leaq 0x6390(%rip), %rdi      # 0x9028
xorl %eax, %eax
callq 0x4fe1
jmp 0x2b0c
movq %rax, %rbx
leaq 0x63b7(%rip), %rdi      # 0x9065
jmp 0x2b05
movq %rax, %rbx
leaq 0x642d(%rip), %rdi      # 0x90ea
jmp 0x2b05
movq %rax, %rbx
leaq 0x647a(%rip), %rdi      # 0x9146
jmp 0x2b05