Function at 0x100089b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x6e8
mov eax, dword [0x101aa2a0]
xor eax, esp
mov dword [esp + 0x6e4], eax
mov eax, dword [ebp + 0xc]
movsd xmm0, qword [ebp + 0x18]
mov ecx, dword [0x101b06e0]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x24]
movsd qword [esp + 0x38], xmm0
mov dword [esp + 0x54], eax
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [esp + 0x54], edi
test ecx, ecx
je 0x10008a52
mov ecx, dword [ecx + 0x20]
call fcn.100210c0
test al, al
jne 0x10008a68
push 0x101a019a
push str.IB_session_disconnected
push str._s__s
push 0x400
push 0x101b1518
call fcn.10002920
add esp, 0x14
push 0x101b1518
call dword [0x101af788]
mov ecx, dword [0x101b06e0]
add esp, 4
mov dword [0x101b06e0], 0
test ecx, ecx
je 0x10008a52
mov eax, dword [ecx]
push 1
call dword [eax]
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x6e4]
xor ecx, esp
call fcn.100459e9
mov esp, ebp
pop ebp
ret
test edi, edi
je 0x10008a52
cmp byte [edi], 0
je 0x10008a52
cmp dword [0x101acdc8], 0
xorps xmm0, xmm0
movsd qword [esp + 0x28], xmm0
movsd qword [0x101b1028], xmm0
movsd qword [0x101b1058], xmm0
movsd qword [0x101b06e8], xmm0
movsd qword [0x101b1030], xmm0
mov dword [0x101b1038], 0
je 0x10008abf
cmp dword [0x101acdcc], 0
je 0x10008a52
cmp byte [0x101b10c0], 0x44
jne 0x10008a52
movsd xmm2, qword [ebp + 0x10]
comisd xmm2, xmm0
movsd qword [esp + 0x38], xmm0
jbe 0x10008b4f
cmp dword [0x101b1024], 0
jne 0x10008b4f
xor esi, esi
xorps xmm1, xmm1
movsd qword [esp + 0x38], xmm1
cmp dword [0x101acdec], esi
jle 0x10008b2e
nop dword [eax]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x30]
push eax
push edi
call sym.IB.dll_BrokerAsset
add esp, 0x28
test eax, eax
jne 0x10008b23
add esi, dword [0x101acdd0]
cmp esi, dword [0x101acdec]
jl 0x10008af0
movsd xmm1, qword [esp + 0x38]
movsd xmm2, qword [ebp + 0x10]
cmp dword [esp + 0x20], 0
movsd xmm0, qword [esp + 0x10]
jge 0x10008b41
addsd xmm0, xmm2
jmp 0x10008b49
subsd xmm0, xmm2
subsd xmm0, xmm1
movsd qword [esp + 0x38], xmm0
mov edx, 1
mov ecx, edi
call fcn.10006e00
test eax, eax
je 0x10008a52
cmp dword [0x101b07f4], 1
jle 0x10008fc2
cmp dword [0x101af7e8], 0x10
mov ecx, 0x101af7d4
mov esi, dword [0x101af7d4]
mov edi, dword [0x101af7e4]
cmovae ecx, esi
push 3
push 0x101a03f8
push edi
push ecx
setae byte [esp + 0x2f]
call fcn.1000bcb0
add esp, 0x10
test al, al
jne 0x10008bcb
cmp byte [esp + 0x1f], 0
mov eax, 0x101af7d4
push 3
push 0x101a03f4
cmovne eax, esi
push edi
push eax
call fcn.1000bcb0
add esp, 0x10
test al, al
je 0x10008fc2
xor ecx, ecx
call fcn.100088e0
push 0x5c
call fcn.10045ca9
mov edi, eax
xorps xmm0, xmm0
lea eax, [edi + 8]
mov dword [esp + 0x4c], edi
add esp, 4
mov dword [esp + 0x24], eax
mov dword [edi], 0
mov dword [edi + 4], 0
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
movups xmmword [edi + 0x20], xmm0
mov dword [edi + 0x30], 0
mov dword [edi + 0x34], 0xf
mov byte [edi + 0x20], 0
mov dword [edi + 0x38], 0
mov dword [edi + 0x3c], 0
movups xmmword [edi + 0x40], xmm0
mov dword [edi + 0x50], 0
mov dword [edi + 0x54], 0xf
mov byte [edi + 0x40], 0
push 0x10
mov dword [edi + 0x58], 0xffffffff
call fcn.10045ca9
mov ecx, dword [0x101b1024]
mov esi, eax
lea eax, [esi + 4]
mov dword [esp + 0x34], esi
add esp, 4
mov dword [eax], 1
mov dword [esi + 8], 1
mov dword [esi], vtable.std::_Ref_count_struct_ComboLeg_.0
mov dword [esi + 0xc], edi
lock inc dword [eax]
mov edx, dword [ecx*8 + 0x101af794]
mov dword [ecx*8 + 0x101af790], edi
or edi, 0xffffffff
mov dword [esp + 0x10], edx
mov dword [ecx*8 + 0x101af794], esi
test edx, edx
je 0x10008cc1
mov eax, edi
lock xadd dword [edx + 4], eax
jne 0x10008cc1
mov eax, dword [edx]
mov ecx, edx
call dword [eax]
mov ecx, dword [esp + 0x10]
mov eax, edi
lock xadd dword [ecx + 8], eax
jne 0x10008cc1
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esp + 0x48]
mov edx, 0x101a059c
mov eax, dword [0x101aff90]
cmp dword [esp + 0x20], 0
mov dword [ecx], eax
mov eax, str.SELL
cmovle edx, eax
mov ecx, edx
lea eax, [ecx + 1]
mov dword [esp + 0x10], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10008ce7
sub ecx, dword [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x28]
push edx
call fcn.1000b4c0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x48]
cdq
xor eax, edx
sub eax, edx
mov dword [ecx + 4], eax
mov ecx, dword [0x101b1024]
test ecx, ecx
je 0x10008d21
mov edx, dword [0x101b1a18]
cmp edx, eax
jl 0x10008d29
mov edx, eax
mov dword [0x101b1a18], edx
cmp dword [0x101b02cc], 1
jl 0x10008dc1
mov esi, dword [esp + 0x24]
cmp dword [esi + 0x14], 0x10
mov esi, dword [esp + 0x30]
jb 0x10008d52
mov esi, dword [esp + 0x24]
mov esi, dword [esi]
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x30]
push edx
push eax
push dword [esp + 0x2c]
lea eax, [ecx + 1]
push eax
mov eax, dword [esp + 0x58]
push dword [eax]
lea eax, [esp + 0xac]
push str.Combo__i_Leg__i__s__i__i_
push 0x100
push eax
call fcn.10002920
mov ecx, 0x101af7b8
call fcn.10004e20
test eax, eax
mov ecx, 0x101a019a
cmovne ecx, eax
lea eax, [esp + 0xb8]
push ecx
push eax
push str._s__s
push 0x400
push 0x101b1518
call fcn.10002920
add esp, 0x34
push 0x101b1518
call dword [0x101af788]
mov ecx, dword [0x101b1024]
add esp, 4
inc ecx
mov dword [0x101b1024], ecx
cmp ecx, dword [0x101b07f4]
jl 0x10008f7f
push 3
push 0x101a05c4
mov ecx, 0x101af7d4
call fcn.1000b4c0
push 0
push 0x101a019a
mov ecx, 0x101af810
call fcn.1000b4c0
push 0
push 0x101a019a
mov ecx, 0x101af7ec
call fcn.1000b4c0
movsd xmm0, qword [esp + 0x28]
mov ecx, 0x101af828
push 0
push 0x101a019a
movsd qword [0x101af808], xmm0
call fcn.1000b4c0
push 0
push 0x101a019a
mov ecx, 0x101af8a0
call fcn.1000b4c0
cmp dword [0x101af884], 0x10
mov eax, 0x101af870
push 0
cmovae eax, dword [0x101af870]
push 0x101a019a
push dword [0x101af880]
push eax
call fcn.1000bcb0
add esp, 0x10
test al, al
je 0x10008ea2
cmp dword [0x101af854], 0x10
mov eax, 0x101af840
push 5
cmovae eax, dword [0x101af840]
push 0x101a01a4
push dword [0x101af850]
push eax
call fcn.1000bcb0
add esp, 0x10
test al, al
je 0x10008ea2
push 3
push 0x101a04dc
mov ecx, 0x101af870
call fcn.1000b4c0
push 0xc
call fcn.10045ca9
add esp, 4
mov ecx, 0x101af934
mov dword [eax], 0
push eax
mov dword [eax + 4], 0
mov dword [eax + 8], 0
call fcn.1000b6e0
mov eax, dword [0x101b1024]
add eax, 0xffffffff
mov dword [0x101b1024], eax
js 0x10008f4d
nop word [eax + eax]
mov ecx, dword [eax*8 + 0x101af790]
lea esi, [eax*8 + 0x101af790]
mov eax, dword [ecx + 4]
cdq
idiv dword [0x101b1a18]
mov dword [ecx + 4], eax
mov edx, dword [0x101af934]
mov ecx, dword [edx + 4]
cmp ecx, dword [edx + 8]
je 0x10008f31
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x10008f21
lock inc dword [eax + 4]
mov eax, dword [esi]
mov dword [ecx], eax
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
add dword [edx + 4], 8
jmp 0x10008f3a
push esi
push ecx
mov ecx, edx
call fcn.1000bb00
mov eax, dword [0x101b1024]
add eax, 0xffffffff
mov dword [0x101b1024], eax
jns 0x10008ee0
mov esi, dword [esp + 0x30]
mov eax, dword [0x101b1a18]
lea ecx, [esi + 4]
mov dword [esp + 0x20], eax
mov eax, edi
mov dword [0x101b07f4], 0
lock xadd dword [ecx], eax
jne 0x10009001
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lea eax, [esi + 8]
lock xadd dword [eax], edi
dec edi
jmp 0x10008ff8
mov eax, dword [0x101b06e4]
lea ecx, [esi + 4]
mov dword [esp + 0x10], eax
mov eax, edi
lock xadd dword [ecx], eax
jne 0x10008faa
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lea eax, [esi + 8]
lock xadd dword [eax], edi
dec edi
jne 0x10008faa
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 4]
mov eax, dword [esp + 0x10]
pop edi
pop esi
mov ecx, dword [esp + 0x6e4]
xor ecx, esp
call fcn.100459e9
mov esp, ebp
pop ebp
ret
mov esi, dword [0x101af938]
mov dword [0x101af934], 0
mov dword [0x101af938], 0
test esi, esi
je 0x10009001
or edi, 0xffffffff
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x10009001
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x10009001
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov esi, dword [0x101b06e4]
mov edx, 0x101a059c
inc esi
mov eax, str.SELL
cmp dword [esp + 0x20], 0
mov dword [0x101b06e4], esi
cmovle edx, eax
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10009025
sub ecx, edi
push ecx
push edx
mov ecx, 0x101af94c
call fcn.1000b4c0
mov eax, dword [esp + 0x20]
sub esp, 8
cdq
xor eax, edx
sub eax, edx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.1001bc90
push dword [0x101b011c]
mov dword [0x101af968], eax
push dword [0x101b0118]
mov dword [0x101af96c], edx
call fcn.1001bbd0
movsd xmm0, qword [0x101a18f0]
add esp, 0x10
fstp qword [esp + 0x10]
comisd xmm0, xmmword [esp + 0x10]
jbe 0x1000915e
push dword [0x101b011c]
push dword [0x101b0118]
push dword [0x101af96c]
push dword [0x101af968]
call fcn.1001bcc0
push edx
push eax
mov dword [0x101af968], eax
mov dword [0x101af96c], edx
call fcn.1001bbd0
push dword [0x101b011c]
fstp qword [esp + 0x2c]
push dword [0x101b0118]
call fcn.1001bbd0
movsd xmm0, qword [esp + 0x30]
add esp, 0x18
fst qword [esp + 0x50]
fstp qword [esp + 0x38]
divsd xmm0, qword [esp + 0x38]
movsd qword [esp], xmm0
call fcn.10050833
fmul qword [esp + 0x50]
fstp qword [esp + 0x18]
movsd xmm0, qword [esp + 0x18]
movsd qword [esp], xmm0
push str._0.6f
call fcn.10019d30
mov edi, eax
sub esp, 0xc
mov edx, esp
mov ecx, edi
xorps xmm0, xmm0
movups xmmword [edx], xmm0
lea eax, [ecx + 1]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov dword [esp + 0x28], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10009135
sub ecx, dword [esp + 0x28]
push ecx
push edi
mov ecx, edx
call fcn.1000b790
call fcn.1001bcf0
add esp, 0x18
mov dword [0x101af968], eax
mov dword [0x101af96c], edx
jmp 0x10009169
mov edx, dword [0x101af96c]
mov eax, dword [0x101af968]
push edx
push eax
lea eax, [esp + 0x88]
push eax
call fcn.1001aef0
movsd xmm0, qword [esp + 0x4c]
add esp, 0xc
cmp dword [0x101b14e8], 1
mov ecx, 0x101af970
mov dword [0x101afa78], 0
sete byte [0x101afa74]
ucomisd xmm0, qword [esp + 0x28]
push 3
lahf
test ah, 0x44
jnp 0x100091be
push 0x101a05d0
call fcn.1000b4c0
movsd xmm0, qword [esp + 0x40]
jmp 0x100091ce
push 0x101a05d4
call fcn.1000b4c0
movsd xmm0, qword [esp + 0x28]
push 3
push 0x101a05d8
mov ecx, 0x101af998
movsd qword [0x101af988], xmm0
call fcn.1000b4c0
push 0x2f
push 0x101b06f0
call fcn.10047450
mov edi, eax
add esp, 8
test edi, edi
je 0x1000925a
mov byte [edi], 0
cmp byte [0x101b06f0], 0
je 0x10009229
mov edx, 0x101b06f0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x10009210
sub edx, ecx
mov ecx, 0x101af970
push edx
push 0x101b06f0
call fcn.1000b4c0
cmp byte [edi + 1], 0
lea ecx, [edi + 1]
je 0x10009257
mov edx, ecx
lea eax, [edx + 1]
mov dword [esp + 0x10], eax
nop dword [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x10009240
sub edx, dword [esp + 0x10]
push edx
push ecx
mov ecx, 0x101af998
call fcn.1000b4c0
mov byte [edi], 0x2f
push 5
push str.Zorro
mov ecx, 0x101af9fc
call fcn.1000b4c0
mov ecx, 0x101b10c0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10009273
sub ecx, edx
push ecx
push 0x101b10c0
mov ecx, 0x101afcb8
call fcn.1000b4c0
push str.void
push 0x400
push 0x101b02d8
mov byte [0x101afa28], 1
mov byte [0x101afa14], 1
call fcn.1004c62c
movsd xmm0, qword [esp + 0x44]
add esp, 0xc
dec dword [0x101acdb4]
comisd xmm0, xmmword [esp + 0x28]
jbe 0x100093e7
lea ecx, [esp + 0x98]
mov dword [0x101af940], esi
mov byte [0x101afa14], 0
call fcn.100042f0
cmp dword [0x101af960], 0x10
lea eax, [esi + 1]
push 3
mov dword [esp + 0x9c], eax
mov eax, 0x101af94c
cmovae eax, dword [0x101af94c]
push 0x101a059c
push dword [0x101af95c]
push eax
call fcn.1000bcb0
add esp, 0x10
mov edi, str.SELL
test al, al
mov eax, 0x101a059c
cmove edi, eax
mov ecx, edi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10009330
sub ecx, edx
push ecx
push edi
lea ecx, [esp + 0xac]
call fcn.1000b4c0
push 3
push 0x101a05ec
lea ecx, [esp + 0xd0]
call fcn.1000b4c0
mov ecx, dword [0x101af96c]
mov eax, dword [0x101af968]
movsd xmm0, qword [esp + 0x38]
mov dword [esp + 0xc4], ecx
mov ecx, dword [0x101b06e0]
push 0x101af940
mov dword [esp + 0xc4], eax
mov eax, dword [0x101af940]
push 0x101af7b8
movsd qword [esp + 0xf0], xmm0
mov dword [esp + 0x178], eax
mov byte [esp + 0x188], 1
mov byte [esp + 0x174], 1
mov ecx, dword [ecx + 0x20]
push eax
call fcn.100212c0
mov ecx, dword [0x101b06e0]
lea eax, [esp + 0x98]
push eax
push 0x101af7b8
push dword [esp + 0xa0]
mov ecx, dword [ecx + 0x20]
call fcn.100212c0
lea ecx, [esp + 0x98]
call fcn.10003460
jmp 0x10009400
mov ecx, dword [0x101b06e0]
push 0x101af940
push 0x101af7b8
push esi
mov ecx, dword [ecx + 0x20]
call fcn.100212c0
cmp dword [0x101b02cc], 1
jl 0x100095fd
push dword [0x101af96c]
cmp dword [0x101af960], 0x10
lea eax, [esp + 0x64]
push dword [0x101af968]
mov edi, 0x101af94c
cmovae edi, dword [0x101af94c]
push eax
call fcn.1001aef0
mov edx, eax
add esp, 0xc
cmp dword [edx + 0x14], 0x10
jb 0x10009443
mov edx, dword [edx]
cmp dword [0x101af9ac], 0x10
mov ecx, 0x101af998
push edx
cmovae ecx, dword [0x101af998]
mov eax, 0x101af970
cmp dword [0x101af984], 0x10
push ecx
cmovae eax, dword [0x101af970]
push eax
push edi
push dword [esp + 0x64]
lea eax, [esp + 0xac]
push esi
push str.Order__i__s__s__s__s__s
push 0x100
push eax
call fcn.10002920
mov ecx, dword [esp + 0x98]
add esp, 0x24
cmp ecx, 0x10
jb 0x100094c5
mov edx, dword [esp + 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100094bb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000996c
push ecx
push edx
call fcn.10046108
add esp, 8
mov ecx, 0x101af7b8
call fcn.10004e20
test eax, eax
mov ecx, 0x101a019a
cmovne ecx, eax
lea eax, [esp + 0x98]
push ecx
push eax
push str._s__s
push 0x400
push 0x101b1518
call fcn.10002920
add esp, 0x14
push 0x101b1518
call dword [0x101af788]
movsd xmm0, qword [esp + 0x2c]
add esp, 4
movsd xmm1, qword [esp + 0x38]
comisd xmm1, xmm0
jbe 0x10009588
sub esp, 8
movsd qword [esp], xmm1
push str._.8f
push 0x40
push 0x101b1a20
call fcn.10002920
add esp, 0x14
mov ecx, 0x101b1a20
cmp byte [0x101b1a20], 0x40
jne 0x10009557
mov ecx, 0x101af7b8
call fcn.10004e20
test eax, eax
mov ecx, 0x101a019a
cmovne ecx, eax
push ecx
push str.Stop_Order:
push str._s__s
push 0x400
push 0x101b1518
call fcn.10002920
add esp, 0x14
push 0x101b1518
call dword [0x101af788]
movsd xmm0, qword [esp + 0x2c]
add esp, 4
movsd xmm1, qword [esp + 0x40]
comisd xmm1, xmm0
jbe 0x10009603
sub esp, 8
movsd qword [esp], xmm1
push str._.8f
push 0x40
push 0x101b1a20
call fcn.10002920
add esp, 0x14
mov ecx, 0x101b1a20
cmp byte [0x101b1a20], 0x40
jne 0x100095d2
mov ecx, 0x101af7b8
call fcn.10004e20
test eax, eax
mov ecx, 0x101a019a
cmovne ecx, eax
push ecx
push str.Limit_Order:
push str._s__s
push 0x400
push 0x101b1518
call fcn.10002920
add esp, 0x14
push 0x101b1518
call dword [0x101af788]
add esp, 4
movsd xmm0, qword [esp + 0x28]
sub esp, 8
movsd qword [0x101b1028], xmm0
movsd qword [0x101b1058], xmm0
movsd qword [0x101b06e8], xmm0
movsd qword [0x101b1030], xmm0
mov dword [0x101b1038], 0
mov dword [0x101b14dc], 1
movsd qword [esp], xmm0
call fcn.1001bc90
add esp, 8
mov dword [0x101af7b0], eax
cmp dword [0x101b14e8], 2
mov eax, dword [0x101acdec]
mov dword [0x101af7b4], edx
mov dword [0x101b1044], 1
jne 0x10009673
cdq
and edx, 3
add eax, edx
sar eax, 2
xor edx, edx
mov ecx, eax
call fcn.10004d00
inc dword [0x101b06e4]
cmp dword [0x101b1044], 0
mov dword [0x101b14dc], 0
jne 0x100096e7
cmp byte [0x101b02d8], 0x40
mov edx, 0x101b02d8
jne 0x100096b7
mov ecx, 0x101af7b8
call fcn.10004e20
test eax, eax
mov edx, 0x101a019a
cmovne edx, eax
push edx
push str.Order_rejected:
push str._s__s
push 0x400
push 0x101b1518
call fcn.10002920
add esp, 0x14
push 0x101b1518
call dword [0x101af788]
add esp, 4
jmp 0x1000991c
cmp dword [0x101b14e8], 2
je 0x100097f6
cmp dword [0x101b1038], 0
je 0x10009719
movsd xmm0, qword [esp + 0x28]
movsd xmm1, qword [0x101b06e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x10009804
mov ecx, dword [0x101b06e0]
lea eax, [esp + 0x60]
xorps xmm0, xmm0
mov dword [esp + 0x70], 0
movaps xmmword [esp + 0x60], xmm0
push eax
mov dword [esp + 0x78], 0xf
mov byte [esp + 0x64], 0
mov ecx, dword [ecx + 0x20]
push esi
call fcn.1001fc60
mov ecx, dword [esp + 0x74]
cmp ecx, 0x10
jb 0x10009780
mov edx, dword [esp + 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10009776
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009971
push ecx
push edx
call fcn.10046108
add esp, 8
push 0xa
push 0x40
push 0x101b1b60
push dword [0x101b1054]
call fcn.1004abd8
add esp, 0x10
test eax, eax
je 0x100097a4
xor al, al
mov byte [0x101b1b60], al
jmp 0x100097a9
mov al, byte [0x101b1b60]
mov ecx, 0x101b1b60
cmp al, 0x40
jne 0x100097c6
mov ecx, 0x101af7b8
call fcn.10004e20
test eax, eax
mov ecx, 0x101a019a
cmovne ecx, eax
push ecx
push str.Order_cancelled___timeout
push str._s__s
push 0x400
push 0x101b1518
call fcn.10002920
add esp, 0x14
push 0x101b1518
call dword [0x101af788]
add esp, 4
jmp 0x1000991c
movsd xmm0, qword [esp + 0x28]
movsd xmm1, qword [0x101b06e8]
mov edi, dword [esp + 0x58]
test edi, edi
je 0x1000985c
comisd xmm1, xmm0
jbe 0x1000985c
cmp dword [0x101af7e8], 0x10
mov eax, 0x101af7d4
push 3
cmovae eax, dword [0x101af7d4]
push 0x101a05c4
push dword [0x101af7e4]
push eax
call fcn.1000bcb0
add esp, 0x10
test al, al
jne 0x1000985c
cmp dword [esp + 0x20], 0
jle 0x10009850
movsd xmm0, qword [0x101b06e8]
jmp 0x10009858
movsd xmm0, qword [0x101b1030]
movsd qword [edi], xmm0
push dword [0x101b011c]
mov eax, dword [0x101af7b4]
push dword [0x101b0118]
mov edi, dword [0x101af7b0]
mov dword [esp + 0x38], eax
call fcn.1001bbd0
movsd xmm0, qword [0x101a18f0]
add esp, 8
fstp qword [esp + 0x40]
comisd xmm0, xmmword [esp + 0x40]
jbe 0x100098b9
push dword [0x101b011c]
push dword [0x101b0118]
push dword [0x101af7b4]
push dword [0x101af7b0]
call fcn.1001bc60
add esp, 0x10
mov dword [esp + 0x30], edx
mov edi, eax
movsd xmm0, qword [0x101a1930]
sub esp, 8
movsd qword [esp], xmm0
call fcn.1001bc90
add esp, 8
cmp dword [0x101af7b0], eax
jne 0x100098e6
cmp dword [0x101af7b4], edx
jne 0x100098e6
or eax, 0xffffffff
jmp 0x10009905
push dword [esp + 0x30]
push edi
call fcn.1001bbd0
fstp qword [esp]
call fcn.10050833
fstp qword [esp + 0x48]
cvttsd2si eax, qword [esp + 0x48]
add esp, 8
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x1000990f
mov dword [ecx], eax
cmp dword [0x101b14e8], 2
je 0x1000991e
test eax, eax
jne 0x1000991e
xor esi, esi
mov ecx, dword [esp + 0x94]
cmp ecx, 0x10
jb 0x10009956
mov edx, dword [esp + 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000994c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009976
push ecx
push edx
call fcn.10046108
add esp, 8
mov ecx, dword [esp + 0x6ec]
mov eax, esi
pop edi
pop esi
xor ecx, esp
call fcn.100459e9
mov esp, ebp
pop ebp
ret
call fcn.100526a2
call fcn.100526a2
call fcn.100526a2
int3