// File: cmirnov[P]triangular-arbitrage/main.cpp
// Function: main
int main() {
	std::string url = "https://www.forex.com/en/";
	std::vector<std::string> currency = {"RUB", "USD", "EUR", "GBD", "JPY", "CNY"};
	Exchange *myExchange = new Exchange(url, currency);
	myExchange->runArbitrage();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x240, %rsp            # imm = 0x240
movl $0x0, -0x4(%rbp)
leaq -0x29(%rbp), %rdi
movq %rdi, -0x188(%rbp)
callq 0x2260
movq -0x188(%rbp), %rdx
leaq 0x12b3(%rip), %rsi      # 0xe173
leaq -0x28(%rbp), %rdi
callq 0x21d0
jmp 0xcecb
leaq -0x29(%rbp), %rdi
callq 0x21a0
movb $0x1, -0x137(%rbp)
leaq -0x128(%rbp), %rax
movq %rax, -0x198(%rbp)
movq %rax, -0x130(%rbp)
leaq -0x131(%rbp), %rdi
movq %rdi, -0x190(%rbp)
callq 0x2260
movq -0x198(%rbp), %rdi
movq -0x190(%rbp), %rdx
leaq 0x1275(%rip), %rsi      # 0xe18d
callq 0x21d0
jmp 0xcf1f
leaq -0x108(%rbp), %rax
movq %rax, -0x1a8(%rbp)
movq %rax, -0x130(%rbp)
leaq -0x132(%rbp), %rdi
movq %rdi, -0x1a0(%rbp)
callq 0x2260
movq -0x1a8(%rbp), %rdi
movq -0x1a0(%rbp), %rdx
leaq 0x1235(%rip), %rsi      # 0xe191
callq 0x21d0
jmp 0xcf63
leaq -0xe8(%rbp), %rax
movq %rax, -0x1b8(%rbp)
movq %rax, -0x130(%rbp)
leaq -0x133(%rbp), %rdi
movq %rdi, -0x1b0(%rbp)
callq 0x2260
movq -0x1b8(%rbp), %rdi
movq -0x1b0(%rbp), %rdx
leaq 0x11f5(%rip), %rsi      # 0xe195
callq 0x21d0
jmp 0xcfa7
leaq -0xc8(%rbp), %rax
movq %rax, -0x1c8(%rbp)
movq %rax, -0x130(%rbp)
leaq -0x134(%rbp), %rdi
movq %rdi, -0x1c0(%rbp)
callq 0x2260
movq -0x1c8(%rbp), %rdi
movq -0x1c0(%rbp), %rdx
leaq 0x11b5(%rip), %rsi      # 0xe199
callq 0x21d0
jmp 0xcfeb
leaq -0xa8(%rbp), %rax
movq %rax, -0x1d8(%rbp)
movq %rax, -0x130(%rbp)
leaq -0x135(%rbp), %rdi
movq %rdi, -0x1d0(%rbp)
callq 0x2260
movq -0x1d8(%rbp), %rdi
movq -0x1d0(%rbp), %rdx
leaq 0x1175(%rip), %rsi      # 0xe19d
callq 0x21d0
jmp 0xd02f
leaq -0x88(%rbp), %rax
movq %rax, -0x1e8(%rbp)
movq %rax, -0x130(%rbp)
leaq -0x136(%rbp), %rdi
movq %rdi, -0x1e0(%rbp)
callq 0x2260
movq -0x1e8(%rbp), %rdi
movq -0x1e0(%rbp), %rdx
leaq 0x1135(%rip), %rsi      # 0xe1a1
callq 0x21d0
jmp 0xd073
movb $0x0, -0x137(%rbp)
leaq -0x128(%rbp), %rax
movq %rax, -0x68(%rbp)
movq $0x6, -0x60(%rbp)
leaq -0x138(%rbp), %rdi
movq %rdi, -0x1f0(%rbp)
callq 0x9bf0
movq -0x1f0(%rbp), %rcx
movq -0x68(%rbp), %rsi
movq -0x60(%rbp), %rdx
leaq -0x58(%rbp), %rdi
callq 0xd420
jmp 0xd0ba
leaq -0x138(%rbp), %rdi
callq 0x43a0
leaq -0x128(%rbp), %rax
movq %rax, -0x200(%rbp)
addq $0xc0, %rax
movq %rax, -0x1f8(%rbp)
movq -0x1f8(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x208(%rbp)
callq 0x20e0
movq -0x200(%rbp), %rcx
movq -0x208(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x1f8(%rbp)
jne 0xd0e1
leaq -0x136(%rbp), %rdi
callq 0x21a0
leaq -0x135(%rbp), %rdi
callq 0x21a0
leaq -0x134(%rbp), %rdi
callq 0x21a0
leaq -0x133(%rbp), %rdi
callq 0x21a0
leaq -0x132(%rbp), %rdi
callq 0x21a0
leaq -0x131(%rbp), %rdi
callq 0x21a0
movl $0x50, %edi
callq 0x2170
movq %rax, -0x210(%rbp)
jmp 0xd16d
movb $0x1, -0x179(%rbp)
leaq -0x160(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x2080
jmp 0xd186
leaq -0x178(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x3090
jmp 0xd198
movq -0x210(%rbp), %rdi
leaq -0x160(%rbp), %rsi
leaq -0x178(%rbp), %rdx
callq 0x2460
jmp 0xd1b4
movb $0x0, -0x179(%rbp)
leaq -0x178(%rbp), %rdi
callq 0x3180
leaq -0x160(%rbp), %rdi
callq 0x20e0
movq -0x210(%rbp), %rax
movq %rax, -0x140(%rbp)
movq -0x140(%rbp), %rdi
callq 0x2fb0
jmp 0xd1ef
leaq -0x58(%rbp), %rdi
callq 0x3180
leaq -0x28(%rbp), %rdi
callq 0x20e0
movl -0x4(%rbp), %eax
addq $0x240, %rsp            # imm = 0x240
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x29(%rbp), %rdi
callq 0x21a0
jmp 0xd410
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd32c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd320
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd314
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd308
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd2fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd2f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x138(%rbp), %rdi
callq 0x43a0
leaq -0x128(%rbp), %rax
movq %rax, -0x220(%rbp)
addq $0xc0, %rax
movq %rax, -0x218(%rbp)
movq -0x218(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x228(%rbp)
callq 0x20e0
movq -0x220(%rbp), %rcx
movq -0x228(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x218(%rbp)
jne 0xd2bd
jmp 0xd2f0
leaq -0x136(%rbp), %rdi
callq 0x21a0
leaq -0x135(%rbp), %rdi
callq 0x21a0
leaq -0x134(%rbp), %rdi
callq 0x21a0
leaq -0x133(%rbp), %rdi
callq 0x21a0
leaq -0x132(%rbp), %rdi
callq 0x21a0
leaq -0x131(%rbp), %rdi
callq 0x21a0
testb $0x1, -0x137(%rbp)
jne 0xd343
jmp 0xd390
movq -0x130(%rbp), %rax
leaq -0x128(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x230(%rbp)
je 0xd38e
movq -0x230(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x238(%rbp)
callq 0x20e0
movq -0x238(%rbp), %rax
leaq -0x128(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x230(%rbp)
jne 0xd35d
jmp 0xd390
jmp 0xd407
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd3fe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd3e0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd3d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x178(%rbp), %rdi
callq 0x3180
leaq -0x160(%rbp), %rdi
callq 0x20e0
testb $0x1, -0x179(%rbp)
jne 0xd3eb
jmp 0xd3fc
movq -0x210(%rbp), %rdi
movl $0x50, %esi
callq 0x2180
jmp 0xd3fe
leaq -0x58(%rbp), %rdi
callq 0x3180
leaq -0x28(%rbp), %rdi
callq 0x20e0
movq -0x38(%rbp), %rdi
callq 0x2250
nopl (%rax)