Function at 0x101545c0
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x103790d3
mov eax, dword fs:[0]
push eax
sub esp, 0x554
mov eax, dword [0x10480b90]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 0xc]
sub esp, 0x20
mov dword [ebp - 0x284], esp
mov dword [ebp - 0x288], eax
mov eax, esp
push 0x10420184
push 0x1042c720
push str.__line:
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x27c], esp
push str.._logic_logic.cpp
xor ebx, ebx
mov dword [ebp - 0x304], eax
call fcn.10003660
lea esi, [ebp - 0x444]
call fcn.10069570
add esp, 0x20
mov esi, eax
push 0x10421098
lea ecx, [ebp - 0x4a4]
mov dword [ebp - 4], ebx
call fcn.10003660
push esi
push eax
lea ecx, [ebp - 0x424]
push ecx
mov byte [ebp - 4], 1
call fcn.10015a90
add esp, 0xc
push eax
lea edx, [ebp - 0x484]
push edx
lea edi, [ebx + 2]
mov byte [ebp - 4], 2
call fcn.10015b40
add esp, 0xc
push eax
lea eax, [ebp - 0x464]
push eax
mov byte [ebp - 4], 3
call fcn.10015b40
add esp, 0xc
push eax
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x304]
push eax
call fcn.10015b40
sub esp, 0x14
mov byte [ebp - 4], 5
mov ecx, esp
mov dword [ebp - 0x27c], esp
push str.logic::download
call fcn.10003660
lea ecx, [ebx + 1]
lea edx, [ebp - 0x5c]
mov byte [ebp - 4], 4
call fcn.10054810
mov byte [ebp - 4], 7
cmp dword [ebp - 0x448], 0x10
jb 0x101546e9
mov ecx, dword [ebp - 0x45c]
push ecx
call fcn.1026bc50
add esp, 4
mov esi, 0xf
lea ecx, [ebp - 0x464]
mov dword [ebp - 0x448], esi
mov dword [ebp - 0x44c], ebx
mov byte [ebp - 0x45c], 0
call fcn.100012e0
mov byte [ebp - 4], 8
cmp dword [ebp - 0x468], 0x10
jb 0x10154728
mov edx, dword [ebp - 0x47c]
push edx
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x484]
mov dword [ebp - 0x468], esi
mov dword [ebp - 0x46c], ebx
mov byte [ebp - 0x47c], 0
call fcn.100012e0
mov byte [ebp - 4], 9
cmp dword [ebp - 0x408], 0x10
jb 0x10154762
mov eax, dword [ebp - 0x41c]
push eax
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x424]
mov dword [ebp - 0x408], esi
mov dword [ebp - 0x40c], ebx
mov byte [ebp - 0x41c], 0
call fcn.100012e0
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x488], 0x10
jb 0x1015479c
mov ecx, dword [ebp - 0x49c]
push ecx
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x4a4]
mov dword [ebp - 0x488], esi
mov dword [ebp - 0x48c], ebx
mov byte [ebp - 0x49c], 0
call fcn.100012e0
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x428], 0x10
jb 0x101547d6
mov edx, dword [ebp - 0x43c]
push edx
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x444]
mov dword [ebp - 0x428], esi
mov dword [ebp - 0x42c], ebx
mov byte [ebp - 0x43c], 0
call fcn.100012e0
xor eax, eax
mov dword [ebp - 0x360], eax
mov dword [ebp - 0x35c], eax
mov dword [ebp - 0x358], eax
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x334]
push ecx
mov dword [ebp - 0x298], ebx
mov byte [ebp - 4], 0xc
call fcn.1014d420
mov esi, eax
call fcn.1014ea50
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x334]
cmp eax, ebx
jne 0x10154c79
lea edx, [ebp - 0x304]
mov dword [ebp - 0x304], 4
mov dword [ebp - 0x294], edx
call fcn.1005c100
mov esi, dword [eax]
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x280]
push ecx
call fcn.100158b0
mov edx, dword [eax]
mov dword [ebp - 0x288], edx
mov dword [eax], ebx
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x280]
cmp eax, ebx
je 0x10154892
push eax
call fcn.102b3490
add esp, 4
mov dword [ebp - 0x280], ebx
cmp dword [ebp - 0x288], ebx
je 0x10154c27
push 0x10420184
push 0x1043b144
push str.__line:
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x290], esp
push str.._logic_logic.cpp
call fcn.10003660
lea esi, [ebp - 0x2e0]
call fcn.10069570
add esp, 0x20
mov esi, eax
push 0x10421098
lea ecx, [ebp - 0x300]
mov byte [ebp - 4], 0xf
call fcn.10003660
push esi
push eax
lea eax, [ebp - 0x2c0]
push eax
mov byte [ebp - 4], 0x10
call fcn.10015a90
add esp, 0xc
push eax
lea ecx, [ebp - 0x32c]
push ecx
mov byte [ebp - 4], 0x11
call fcn.10015b40
add esp, 0xc
push eax
lea edx, [ebp - 0x354]
push edx
mov byte [ebp - 4], 0x12
call fcn.10015b40
add esp, 0xc
push eax
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x13
call fcn.10015b40
add esp, 0xc
mov edi, eax
mov byte [ebp - 4], 0x14
call fcn.1005c100
mov eax, dword [eax]
lea ecx, [ebp - 0x288]
push ecx
push eax
lea edx, [ebp - 0x360]
push edx
call fcn.10015980
add esp, 0xc
mov byte [ebp - 4], 0x15
mov esi, dword [eax + 4]
push 0x10
add esi, 4
push str.invalid_session.
mov ecx, esi
call fcn.10013f30
cmp dword [edi + 0x1c], 0x10
mov eax, dword [edi + 0x18]
jb 0x1015497e
mov edi, dword [edi + 8]
jmp 0x10154981
add edi, 8
push eax
push edi
mov ecx, esi
call fcn.10013f30
lea ecx, [ebp - 0x360]
mov byte [ebp - 4], 0x14
call fcn.10012b30
mov edi, 0x10
mov byte [ebp - 4], 0x13
cmp dword [ebp - 0x18], edi
jb 0x101549b3
mov eax, dword [ebp - 0x2c]
push eax
call fcn.1026bc50
add esp, 4
mov esi, 0xf
push 3
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], 0
call fcn.1024b380
cmp dword [ebp - 0x34], 0xfffffffd
je 0x101549ec
lea eax, [ebp - 0x34]
mov ecx, dword [eax]
cmp ecx, ebx
je 0x101549e9
mov dword [ecx], ebx
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
mov dword [eax], edx
jmp 0x101549d8
mov dword [ebp - 0x34], ebx
lea ecx, [ebp - 0x294]
call fcn.1024b3c0
mov byte [ebp - 4], 0x12
cmp dword [ebp - 0x338], edi
jb 0x10154a12
mov eax, dword [ebp - 0x34c]
push eax
call fcn.1026bc50
add esp, 4
push 3
lea ecx, [ebp - 0x28c]
mov dword [ebp - 0x338], esi
mov dword [ebp - 0x33c], ebx
mov byte [ebp - 0x34c], 0
call fcn.1024b380
cmp dword [ebp - 0x354], 0xfffffffd
je 0x10154a58
lea eax, [ebp - 0x354]
mov ecx, dword [eax]
cmp ecx, ebx
je 0x10154a52
mov dword [ecx], ebx
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
mov dword [eax], edx
jmp 0x10154a41
mov dword [ebp - 0x354], ebx
lea ecx, [ebp - 0x28c]
call fcn.1024b3c0
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x310], edi
jb 0x10154a7e
mov eax, dword [ebp - 0x324]
push eax
call fcn.1026bc50
add esp, 4
push 3
lea ecx, [ebp - 0x364]
mov dword [ebp - 0x310], esi
mov dword [ebp - 0x314], ebx
mov byte [ebp - 0x324], 0
call fcn.1024b380
cmp dword [ebp - 0x32c], 0xfffffffd
je 0x10154ac7
lea eax, [ebp - 0x32c]
lea ecx, [ecx]
mov ecx, dword [eax]
cmp ecx, ebx
je 0x10154ac1
mov dword [ecx], ebx
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
mov dword [eax], edx
jmp 0x10154ab0
mov dword [ebp - 0x32c], ebx
lea ecx, [ebp - 0x364]
call fcn.1024b3c0
mov byte [ebp - 4], 0x10
cmp dword [ebp - 0x2a4], edi
jb 0x10154aed
mov eax, dword [ebp - 0x2b8]
push eax
call fcn.1026bc50
add esp, 4
push 3
lea ecx, [ebp - 0x29c]
mov dword [ebp - 0x2a4], esi
mov dword [ebp - 0x2a8], ebx
mov byte [ebp - 0x2b8], 0
call fcn.1024b380
cmp dword [ebp - 0x2c0], 0xfffffffd
je 0x10154b37
lea eax, [ebp - 0x2c0]
lea esp, [esp]
mov ecx, dword [eax]
cmp ecx, ebx
je 0x10154b31
mov dword [ecx], ebx
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
mov dword [eax], edx
jmp 0x10154b20
mov dword [ebp - 0x2c0], ebx
lea ecx, [ebp - 0x29c]
call fcn.1024b3c0
mov byte [ebp - 4], 0xf
cmp dword [ebp - 0x2e4], edi
jb 0x10154b5d
mov eax, dword [ebp - 0x2f8]
push eax
call fcn.1026bc50
add esp, 4
push 3
lea ecx, [ebp - 0x27c]
mov dword [ebp - 0x2e4], esi
mov dword [ebp - 0x2e8], ebx
mov byte [ebp - 0x2f8], 0
call fcn.1024b380
cmp dword [ebp - 0x300], 0xfffffffd
je 0x10154ba7
lea eax, [ebp - 0x300]
lea esp, [esp]
mov ecx, dword [eax]
cmp ecx, ebx
je 0x10154ba1
mov dword [ecx], ebx
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
mov dword [eax], edx
jmp 0x10154b90
mov dword [ebp - 0x300], ebx
lea ecx, [ebp - 0x27c]
call fcn.1024b3c0
mov byte [ebp - 4], 0xe
cmp dword [ebp - 0x2c4], edi
jb 0x10154bcd
mov eax, dword [ebp - 0x2d8]
push eax
call fcn.1026bc50
add esp, 4
push 3
lea ecx, [ebp - 0x284]
mov dword [ebp - 0x2c4], esi
mov dword [ebp - 0x2c8], ebx
mov byte [ebp - 0x2d8], 0
call fcn.1024b380
cmp dword [ebp - 0x2e0], 0xfffffffd
je 0x10154c17
lea eax, [ebp - 0x2e0]
lea esp, [esp]
mov ecx, dword [eax]
cmp ecx, ebx
je 0x10154c11
mov dword [ecx], ebx
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
mov dword [eax], edx
jmp 0x10154c00
mov dword [ebp - 0x2e0], ebx
lea ecx, [ebp - 0x284]
call fcn.1024b3c0
jmp 0x10154892
mov byte [ebp - 4], 0xc
mov esi, dword [ebp - 0x330]
cmp esi, ebx
je 0x10154c5f
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x10154c5f
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x10154c5f
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
lea eax, [ebp - 0x5c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.10054b80
mov eax, 0xc001000a
jmp 0x10156fbd
lea ecx, [ebp - 0x2a0]
add eax, 0x3c
push ecx
mov dword [ebp - 0x2a0], eax
mov byte [ebp - 0x29c], 0
call fcn.100b5280
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x334]
cmp dword [edx + 0x38], edi
jge 0x10155000
lea eax, [ebp - 0x284]
mov dword [ebp - 0x284], 4
mov dword [ebp - 0x27c], eax
call fcn.1005c100
mov esi, dword [eax]
lea ecx, [ebp - 0x27c]
push ecx
lea edx, [ebp - 0x280]
push edx
call fcn.100158b0
mov ecx, dword [eax]
mov dword [ebp - 0x288], ecx
mov dword [eax], ebx
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x280]
cmp eax, ebx
je 0x10154cff
push eax
call fcn.102b3490
add esp, 4
mov dword [ebp - 0x280], ebx
mov bl, 0x1e
cmp dword [ebp - 0x288], 0
je 0x10154f5e
push 0x10420184
push 0x1043c750
push str.__line:
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x290], esp
push str.._logic_logic.cpp
call fcn.10003660
lea esi, [ebp - 0x34]
call fcn.10069570
add esp, 0x20
mov esi, eax
push 0x10421098
lea ecx, [ebp - 0x354]
mov byte [ebp - 4], 0x18
call fcn.10003660
push esi
push eax
lea edx, [ebp - 0x32c]
push edx
mov byte [ebp - 4], 0x19
call fcn.10015a90
add esp, 0xc
push eax
lea eax, [ebp - 0x2c0]
push eax
mov byte [ebp - 4], 0x1a
call fcn.10015b40
add esp, 0xc
push eax
lea ecx, [ebp - 0x300]
push ecx
mov byte [ebp - 4], 0x1b
call fcn.10015b40
add esp, 0xc
push eax
lea edx, [ebp - 0x2e0]
push edx
mov byte [ebp - 4], 0x1c
call fcn.10015b40
add esp, 0xc
mov edi, eax
mov byte [ebp - 4], 0x1d
call fcn.1005c100
mov eax, dword [eax]
lea ecx, [ebp - 0x288]
push ecx
push eax
lea edx, [ebp - 0x360]
push edx
call fcn.10015980
add esp, 0xc
mov byte [ebp - 4], bl
mov esi, dword [eax + 4]
push 0x22
add esi, 4
push str.DA_is_not_start._connect_DA_first.
mov ecx, esi
call fcn.10013f30
cmp dword [edi + 0x1c], 0x10
mov eax, dword [edi + 0x18]
jb 0x10154ded
mov edi, dword [edi + 8]
jmp 0x10154df0
add edi, 8
push eax
push edi
mov ecx, esi
call fcn.10013f30
lea ecx, [ebp - 0x360]
mov byte [ebp - 4], 0x1d
call fcn.10012b30
mov byte [ebp - 4], 0x1c
cmp dword [ebp - 0x2c4], 0x10
jb 0x10154e24
mov eax, dword [ebp - 0x2d8]
push eax
call fcn.1026bc50
add esp, 4
mov edi, 0xf
xor esi, esi
lea ecx, [ebp - 0x2e0]
mov dword [ebp - 0x2c4], edi
mov dword [ebp - 0x2c8], esi
mov byte [ebp - 0x2d8], 0
call fcn.100012e0
mov byte [ebp - 4], 0x1b
cmp dword [ebp - 0x2e4], 0x10
jb 0x10154e65
mov ecx, dword [ebp - 0x2f8]
push ecx
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x300]
mov dword [ebp - 0x2e4], edi
mov dword [ebp - 0x2e8], esi
mov byte [ebp - 0x2f8], 0
call fcn.100012e0
mov byte [ebp - 4], 0x1a
cmp dword [ebp - 0x2a4], 0x10
jb 0x10154e9f
mov edx, dword [ebp - 0x2b8]
push edx
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x2c0]
mov dword [ebp - 0x2a4], edi
mov dword [ebp - 0x2a8], esi
mov byte [ebp - 0x2b8], 0
call fcn.100012e0
mov byte [ebp - 4], 0x19
cmp dword [ebp - 0x310], 0x10
jb 0x10154ed9
mov eax, dword [ebp - 0x324]
push eax
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x32c]
mov dword [ebp - 0x310], edi
mov dword [ebp - 0x314], esi
mov byte [ebp - 0x324], 0
call fcn.100012e0
mov byte [ebp - 4], 0x18
cmp dword [ebp - 0x338], 0x10
jb 0x10154f13
mov ecx, dword [ebp - 0x34c]
push ecx
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x354]
mov dword [ebp - 0x338], edi
mov dword [ebp - 0x33c], esi
mov byte [ebp - 0x34c], 0
call fcn.100012e0
mov byte [ebp - 4], 0x17
cmp dword [ebp - 0x18], 0x10
jb 0x10154f47
mov edx, dword [ebp - 0x2c]
push edx
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], esi
mov byte [ebp - 0x2c], 0
call fcn.100012e0
jmp 0x10154d01
mov byte [ebp - 4], 0xd
cmp byte [ebp - 0x29c], 0
je 0x10154fae
mov eax, dword [ebp - 0x2a0]
add dword [eax], 0xffffffff
jne 0x10154fae
xor ecx, ecx
lea edx, [eax + 4]
xchg dword [edx], ecx
lea ecx, [eax + 8]
mov eax, closesocket
mov edx, ecx
lock xadd dword [edx], eax
test eax, 0x40000000
jne 0x10154fae
cmp eax, 0x80000000
jle 0x10154fae
mov eax, ecx
lock bts dword [eax], 0x1e
jb 0x10154fae
call fcn.1005b950
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov byte [ebp - 4], 0xc
mov esi, dword [ebp - 0x330]
test esi, esi
je 0x10154fe6
lea ecx, [esi + 4]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x10154fe6
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
lea eax, [esi + 8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x10154fe6
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
lea ecx, [ebp - 0x5c]
push ecx
mov dword [ebp - 4], 0xffffffff
call fcn.10054b80
mov eax, 0xc001000b
jmp 0x10156fbd
lea edx, [ebp + 0x14]
push edx
lea eax, [ebp - 0x36c]
push eax
call fcn.1003cf90
add esp, 8
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x284]
mov dword [ebp - 0x284], edi
mov dword [ebp - 0x27c], ecx
call fcn.1005c100
mov esi, dword [eax]
lea edx, [ebp - 0x27c]
push edx
lea eax, [ebp - 0x280]
push eax
call fcn.100158b0
mov ecx, dword [eax]
mov dword [ebp - 0x364], ecx
mov dword [eax], ebx
mov byte [ebp - 4], 0x20
mov eax, dword [ebp - 0x280]
cmp eax, ebx
je 0x1015506a
push eax
call fcn.102b3490
add esp, 4
mov dword [ebp - 0x280], ebx
mov bl, 0x27
lea esp, [esp]
cmp dword [ebp - 0x364], 0
je 0x101552cd
push 0x10420184
push 0x10428120
push str.__line:
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x290], esp
push str.._logic_logic.cpp
call fcn.10003660
lea esi, [ebp - 0x34]
call fcn.10069570
add esp, 0x20
mov esi, eax
push 0x10421098
lea ecx, [ebp - 0x354]
mov byte [ebp - 4], 0x21
call fcn.10003660
push esi
push eax
lea edx, [ebp - 0x32c]
push edx
mov byte [ebp - 4], 0x22
call fcn.10015a90
add esp, 0xc
push eax
lea eax, [ebp - 0x2c0]
push eax
mov byte [ebp - 4], 0x23
call fcn.10015b40
add esp, 0xc
push eax
lea ecx, [ebp - 0x300]
push ecx
mov byte [ebp - 4], 0x24
call fcn.10015b40
add esp, 0xc
push eax
lea edx, [ebp - 0x2e0]
push edx
mov byte [ebp - 4], 0x25
call fcn.10015b40
add esp, 0xc
mov edi, eax
mov byte [ebp - 4], 0x26
call fcn.1005c100
mov eax, dword [eax]
lea ecx, [ebp - 0x364]
push ecx
push eax
lea edx, [ebp - 0x3cc]
push edx
call fcn.10015980
add esp, 0xc
mov byte [ebp - 4], bl
mov esi, dword [eax + 4]
push 0x16
add esi, 4
push str.prepare_download_info.
mov ecx, esi
call fcn.10013f30
cmp dword [edi + 0x1c], 0x10
mov eax, dword [edi + 0x18]
jb 0x1015515c
mov edi, dword [edi + 8]
jmp 0x1015515f
add edi, 8
push eax
push edi
mov ecx, esi
call fcn.10013f30
lea ecx, [ebp - 0x3cc]
mov byte [ebp - 4], 0x26
call fcn.10012b30
mov byte [ebp - 4], 0x25
cmp dword [ebp - 0x2c4], 0x10
jb 0x10155193
mov eax, dword [ebp - 0x2d8]
push eax
call fcn.1026bc50
add esp, 4
mov esi, 0xf
xor edi, edi
lea ecx, [ebp - 0x2e0]
mov dword [ebp - 0x2c4], esi
mov dword [ebp - 0x2c8], edi
mov byte [ebp - 0x2d8], 0
call fcn.100012e0
mov byte [ebp - 4], 0x24
cmp dword [ebp - 0x2e4], 0x10
jb 0x101551d4
mov ecx, dword [ebp - 0x2f8]
push ecx
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x300]
mov dword [ebp - 0x2e4], esi
mov dword [ebp - 0x2e8], edi
mov byte [ebp - 0x2f8], 0
call fcn.100012e0
mov byte [ebp - 4], 0x23
cmp dword [ebp - 0x2a4], 0x10
jb 0x1015520e
mov edx, dword [ebp - 0x2b8]
push edx
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x2c0]
mov dword [ebp - 0x2a4], esi
mov dword [ebp - 0x2a8], edi
mov byte [ebp - 0x2b8], 0
call fcn.100012e0
mov byte [ebp - 4], 0x22
cmp dword [ebp - 0x310], 0x10
jb 0x10155248
mov eax, dword [ebp - 0x324]
push eax
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x32c]
mov dword [ebp - 0x310], esi
mov dword [ebp - 0x314], edi
mov byte [ebp - 0x324], 0
call fcn.100012e0
mov byte [ebp - 4], 0x21
cmp dword [ebp - 0x338], 0x10
jb 0x10155282
mov ecx, dword [ebp - 0x34c]
push ecx
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x354]
mov dword [ebp - 0x338], esi
mov dword [ebp - 0x33c], edi
mov byte [ebp - 0x34c], 0
call fcn.100012e0
mov byte [ebp - 4], 0x20
cmp dword [ebp - 0x18], 0x10
jb 0x101552b6
mov edx, dword [ebp - 0x2c]
push edx
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x2c], 0
call fcn.100012e0
jmp 0x10155070
mov byte [ebp - 4], 0x1f
mov eax, dword [ebp - 0x334]
mov ecx, dword [eax + 0x30]
push 0x80001
call fcn.100796f0
mov dword [ebp - 0x28c], eax
test eax, eax
jge 0x101556ea
lea ecx, [ebp - 0x284]
mov dword [ebp - 0x284], 4
mov dword [ebp - 0x27c], ecx
call fcn.1005c100
mov esi, dword [eax]
lea edx, [ebp - 0x27c]
push edx
lea eax, [ebp - 0x280]
push eax
call fcn.100158b0
mov ecx, dword [eax]
mov dword [ebp - 0x288], ecx
mov dword [eax], 0
mov byte [ebp - 4], 0x28
mov eax, dword [ebp - 0x280]
test eax, eax
je 0x10155351
push eax
call fcn.102b3490
add esp, 4
mov dword [ebp - 0x280], 0
cmp dword [ebp - 0x288], 0
je 0x10155650
push 0x10420184
push 0x1042c764
push str.__line:
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x290], esp
push str.._logic_logic.cpp
call fcn.10003660
lea esi, [ebp - 0x34]
call fcn.10069570
add esp, 0x20
mov esi, eax
push 0x10421098
lea ecx, [ebp - 0x354]
mov byte [ebp - 4], 0x29
call fcn.10003660
push esi
push eax
lea edx, [ebp - 0x32c]
push edx
mov byte [ebp - 4], 0x2a
call fcn.10015a90
add esp, 0xc
push eax
lea eax, [ebp - 0x2c0]
push eax
mov byte [ebp - 4], 0x2b
call fcn.10015b40
add esp, 0xc
push eax
lea ecx, [ebp - 0x300]
push ecx
mov byte [ebp - 4], 0x2c
call fcn.10015b40
add esp, 0xc
push eax
lea edx, [ebp - 0x2e0]
push edx
mov byte [ebp - 4], 0x2d
call fcn.10015b40
add esp, 0xc
mov edi, eax
mov byte [ebp - 4], 0x2e
call fcn.1005c100
mov eax, dword [eax]
lea ecx, [ebp - 0x288]
push ecx
push eax
lea edx, [ebp - 0x360]
push edx
call fcn.10015980
add esp, 0xc
mov byte [ebp - 4], 0x2f
mov esi, dword [eax + 4]
push 0x1b
add esi, 4
push str.start_download_info_failed.
mov ecx, esi
call fcn.10013f30
mov eax, dword [edi + 0x18]
mov ebx, 0x10
cmp dword [edi + 0x1c], ebx
jb 0x10155442
mov edi, dword [edi + 8]
jmp 0x10155445
add edi, 8
push eax
push edi
mov ecx, esi
call fcn.10013f30
lea ecx, [ebp - 0x360]
mov byte [ebp - 4], 0x2e
call fcn.10012b30
mov byte [ebp - 4], 0x2d
cmp dword [ebp - 0x2c4], ebx
jb 0x10155478
mov eax, dword [ebp - 0x2d8]
push eax
call fcn.1026bc50
add esp, 4
mov edi, 0xf
xor esi, esi
push 3
lea ecx, [ebp - 0x27c]
mov dword [ebp - 0x2c4], edi
mov dword [ebp - 0x2c8], esi
mov byte [ebp - 0x2d8], 0
call fcn.1024b380
cmp dword [ebp - 0x2e0], 0xfffffffd
je 0x101554c7
lea eax, [ebp - 0x2e0]
mov edi, edi
mov ecx, dword [eax]
cmp ecx, esi
je 0x101554c1
mov dword [ecx], esi
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
mov dword [eax], edx
jmp 0x101554b0
mov dword [ebp - 0x2e0], esi
lea ecx, [ebp - 0x27c]
call fcn.1024b3c0
mov byte [ebp - 4], 0x2c
cmp dword [ebp - 0x2e4], ebx
jb 0x101554ed
mov eax, dword [ebp - 0x2f8]
push eax
call fcn.1026bc50
add esp, 4
push 3
lea ecx, [ebp - 0x304]
mov dword [ebp - 0x2e4], edi
mov dword [ebp - 0x2e8], esi
mov byte [ebp - 0x2f8], 0
call fcn.1024b380
cmp dword [ebp - 0x300], 0xfffffffd
je 0x10155537
lea eax, [ebp - 0x300]
lea esp, [esp]
mov ecx, dword [eax]
cmp ecx, esi
je 0x10155531
mov dword [ecx], esi
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
mov dword [eax], edx
jmp 0x10155520
mov dword [ebp - 0x300], esi
lea ecx, [ebp - 0x304]
call fcn.1024b3c0
mov byte [ebp - 4], 0x2b
cmp dword [ebp - 0x2a4], ebx
jb 0x1015555d
mov eax, dword [ebp - 0x2b8]
push eax
call fcn.1026bc50
add esp, 4
push 3
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x2a4], edi
mov dword [ebp - 0x2a8], esi
mov byte [ebp - 0x2b8], 0
call fcn.1024b380
cmp dword [ebp - 0x2c0], 0xfffffffd
je 0x101555a7
lea eax, [ebp - 0x2c0]
lea esp, [esp]
mov ecx, dword [eax]
cmp ecx, esi
je 0x101555a1
mov dword [ecx], esi
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
mov dword [eax], edx
jmp 0x10155590
mov dword [ebp - 0x2c0], esi
lea ecx, [ebp - 0x294]
call fcn.1024b3c0
mov byte [ebp - 4], 0x2a
cmp dword [ebp - 0x310], ebx
jb 0x101555cd
mov eax, dword [ebp - 0x324]
push eax
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x32c]
mov dword [ebp - 0x310], edi
mov dword [ebp - 0x314], esi
mov byte [ebp - 0x324], 0
call fcn.100012e0
mov byte [ebp - 4], 0x29
cmp dword [ebp - 0x338], ebx
jb 0x10155606
mov ecx, dword [ebp - 0x34c]
push ecx
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x354]
mov dword [ebp - 0x338], edi
mov dword [ebp - 0x33c], esi
mov byte [ebp - 0x34c], 0
call fcn.100012e0
mov byte [ebp - 4], 0x28
cmp dword [ebp - 0x18], ebx
jb 0x10155639
mov edx, dword [ebp - 0x2c]
push edx
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], esi
mov byte [ebp - 0x2c], 0
call fcn.100012e0
jmp 0x10155351
mov byte [ebp - 4], 0x16
mov esi, dword [ebp - 0x368]
test esi, esi
je 0x10155688
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x10155688
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x10155688
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
lea eax, [ebp - 0x2a0]
mov byte [ebp - 4], 0xd
call fcn.100b4e60
mov byte [ebp - 4], 0xc
mov esi, dword [ebp - 0x330]
test esi, esi
je 0x101556cf
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x101556cf
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x101556cf
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
lea eax, [ebp - 0x5c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.10054b80
mov eax, dword [ebp - 0x28c]
jmp 0x10156fbd
lea ecx, [ebp - 0x3e0]
push ecx
call fcn.10046200
add esp, 4
xor esi, esi
xor ebx, ebx
mov dword [ebp - 0x374], esi
mov dword [ebp - 0x370], ebx
mov byte [ebp - 4], 0x31
mov dword [ebp - 0x298], esi
cmp esi, dword [ebp + 0x10]
jae 0x1015680e
push 0x218
lea edx, [ebp - 0x278]
push 0
push edx
call fcn.10275180
mov ecx, dword [ebp - 0x288]
lea eax, [esi + esi*8]
add esp, 0xc
shl eax, 6
mov dword [ebp - 0x278], 0
lea ecx, [eax + ecx + 0x40]
lea edx, [ebp - 0x274]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x10155752
xor esi, esi
je 0x10155784
lea ecx, [ebp - 0x274]
call fcn.100554f0
test al, al
je 0x10155784
mov edx, dword [esi]
mov eax, dword [esi + 4]
mov dword [ebp - 0x278], 2
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x3e0]
lea ecx, [ebp - 0x278]
push ecx
lea edx, [ebp - 0x308]
push edx
push eax
call fcn.100bc1f0
lea edi, [ebp - 0x374]
mov byte [ebp - 4], 0x32
call fcn.1005d4b0
mov byte [ebp - 4], 0x31
mov esi, dword [ebp - 0x304]
xor ebx, ebx
cmp esi, ebx
je 0x101557e7
lea ecx, [esi + 4]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x101557e7
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
lea eax, [esi + 8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x101557e7
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
mov esi, dword [ebp - 0x374]
cmp esi, ebx
jne 0x101558fe
mov byte [ebp - 4], 0x30
mov esi, dword [ebp - 0x370]
cmp esi, ebx
je 0x1015582d
lea ecx, [esi + 4]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x1015582d
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
lea eax, [esi + 8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x1015582d
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
mov byte [ebp - 4], 0x1f
mov esi, dword [ebp - 0x3dc]
cmp esi, ebx
je 0x10155865
lea ecx, [esi + 4]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x10155865
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
lea eax, [esi + 8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x10155865
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
mov byte [ebp - 4], 0x16
mov esi, dword [ebp - 0x368]
cmp esi, ebx
je 0x1015589d
lea ecx, [esi + 4]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x1015589d
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
lea eax, [esi + 8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x1015589d
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
lea eax, [ebp - 0x2a0]
mov byte [ebp - 4], 0xd
call fcn.100b4e60
mov byte [ebp - 4], 0xc
mov esi, dword [ebp - 0x330]
cmp esi, ebx
je 0x101558e4
lea ecx, [esi + 4]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x101558e4
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
lea eax, [esi + 8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x101558e4
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
lea ecx, [ebp - 0x5c]
push ecx
mov dword [ebp - 4], 0xffffffff
call fcn.10054b80
mov eax, 0xc001000d
jmp 0x10156fbd
mov eax, dword [ebp - 0x298]
mov edi, dword [ebp - 0x288]
lea edx, [eax + eax*8]
push ebx
sub esp, 0x20
shl edx, 6
lea eax, [edx + edi + 0x40]
mov ecx, esp
mov dword [ebp - 0x290], esp
push eax
add esi, 4
call fcn.10003660
mov edx, dword [esi]
mov eax, dword [edx]
mov ecx, esi
call eax
cmp eax, ebx
jge 0x10155df9
lea ecx, [ebp - 0x284]
mov dword [ebp - 0x284], 4
mov dword [ebp - 0x27c], ecx
call fcn.1005c100
mov esi, dword [eax]
lea edx, [ebp - 0x27c]
push edx
lea eax, [ebp - 0x280]
push eax
call fcn.100158b0
mov ecx, dword [eax]
mov dword [ebp - 0x28c], ecx
mov dword [eax], ebx
mov byte [ebp - 4], 0x33
mov eax, dword [ebp - 0x280]
cmp eax, ebx
je 0x10155990
push eax
call fcn.102b3490
add esp, 4
mov dword [ebp - 0x280], ebx
cmp dword [ebp - 0x28c], 0
je 0x10155cf0
push 0x10420184
push 0x1042c7b0
push str.__line:
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x290], esp
push str.._logic_logic.cpp
call fcn.10003660
lea esi, [ebp - 0x394]
call fcn.10069570
add esp, 0x20
mov esi, eax
push 0x10421098
lea ecx, [ebp - 0x3c0]
mov byte [ebp - 4], 0x34
call fcn.10003660
push esi
push eax
lea edx, [ebp - 0x354]
push edx
mov byte [ebp - 4], 0x35
call fcn.10015a90
add esp, 0xc
push eax
lea eax, [ebp - 0x32c]
push eax
mov byte [ebp - 4], 0x36
call fcn.10015b40
add esp, 0xc
push eax
lea ecx, [ebp - 0x2c0]
push ecx
mov byte [ebp - 4], 0x37
call fcn.10015b40
add esp, 0xc
push eax
lea edx, [ebp - 0x300]
push edx
mov byte [ebp - 4], 0x38
call fcn.10015b40
add esp, 0xc
mov ebx, eax
push str.open_file_failed_index:_d_:__s
lea eax, [ebp - 0x55c]
push eax
mov byte [ebp - 4], 0x39
call fcn.10015560
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x298]
lea edx, [ebp - 0x30c]
mov dword [ebp - 0x30c], ecx
push edx
mov ecx, eax
mov dword [ebp - 0x308], fcn.10029dc0
mov dword [ebp - 0x304], 0x1001e5d0
call fcn.1001bcd0
mov edx, dword [ebp - 0x298]
lea ecx, [edx + edx*8]
mov edx, dword [ebp - 0x288]
shl ecx, 6
lea ecx, [ecx + edx + 0x40]
lea edx, [ebp - 0x3a0]
add esp, 4
mov dword [ebp - 0x3a0], ecx
push edx
mov ecx, eax
mov dword [ebp - 0x39c], fcn.10029dc0
mov dword [ebp - 0x398], 0x10100520
call fcn.1001bcd0
add esp, 4
lea edx, [ebp - 0x2e0]
mov ecx, eax
call fcn.10015670
mov edi, eax
mov byte [ebp - 4], 0x3b
call fcn.1005c100
mov eax, dword [eax]
lea ecx, [ebp - 0x28c]
push ecx
push eax
lea edx, [ebp - 0x360]
push edx
call fcn.10015980
add esp, 0xc
mov byte [ebp - 4], 0x3c
mov esi, dword [eax + 4]
mov eax, dword [edi + 0x18]
add esi, 4
cmp dword [edi + 0x1c], 0x10
jb 0x10155b0c
mov edi, dword [edi + 8]
jmp 0x10155b0f
add edi, 8
push eax
push edi
mov ecx, esi
call fcn.10013f30
mov ecx, dword [ebx + 0x18]
mov edi, 0x10
cmp dword [ebx + 0x1c], edi
jb 0x10155b2a
mov eax, dword [ebx + 8]
jmp 0x10155b2d
lea eax, [ebx + 8]
push ecx
push eax
mov ecx, esi
call fcn.10013f30
lea ecx, [ebp - 0x360]
mov byte [ebp - 4], 0x3b
call fcn.10012b30
mov byte [ebp - 4], 0x3a
cmp dword [ebp - 0x2c4], edi
jb 0x10155b60
mov eax, dword [ebp - 0x2d8]
push eax
call fcn.1026bc50
add esp, 4
mov ebx, 0xf
xor esi, esi
lea ecx, [ebp - 0x2e0]
mov dword [ebp - 0x2c4], ebx
mov dword [ebp - 0x2c8], esi
mov byte [ebp - 0x2d8], 0
call fcn.100012e0
lea ecx, [ebp - 0x55c]
push ecx
mov byte [ebp - 4], 0x39
call fcn.1000b3f0
mov byte [ebp - 4], 0x38
cmp dword [ebp - 0x2e4], edi
jb 0x10155bb0
mov edx, dword [ebp - 0x2f8]
push edx
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x300]
mov dword [ebp - 0x2e4], ebx
mov dword [ebp - 0x2e8], esi
mov byte [ebp - 0x2f8], 0
call fcn.100012e0
mov byte [ebp - 4], 0x37
cmp dword [ebp - 0x2a4], edi
jb 0x10155be9
mov eax, dword [ebp - 0x2b8]
push eax
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x2c0]
mov dword [ebp - 0x2a4], ebx
mov dword [ebp - 0x2a8], esi
mov byte [ebp - 0x2b8], 0
call fcn.100012e0
mov byte [ebp - 4], 0x36
cmp dword [ebp - 0x310], edi
jb 0x10155c22
mov ecx, dword [ebp - 0x324]
push ecx
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x32c]
mov dword [ebp - 0x310], ebx
mov dword [ebp - 0x314], esi
mov byte [ebp - 0x324], 0
call fcn.100012e0
mov byte [ebp - 4], 0x35
cmp dword [ebp - 0x338], edi
jb 0x10155c5b
mov edx, dword [ebp - 0x34c]
push edx
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x354]
mov dword [ebp - 0x338], ebx
mov dword [ebp - 0x33c], esi
mov byte [ebp - 0x34c], 0
call fcn.100012e0
mov byte [ebp - 4], 0x34
cmp dword [ebp - 0x3a4], edi
jb 0x10155c94
mov eax, dword [ebp - 0x3b8]
push eax
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x3c0]
mov dword [ebp - 0x3a4], ebx
mov dword [ebp - 0x3a8], esi
mov byte [ebp - 0x3b8], 0
call fcn.100012e0
mov byte [ebp - 4], 0x33
cmp dword [ebp - 0x378], edi
jb 0x10155ccd
mov ecx, dword [ebp - 0x38c]
push ecx
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x394]
mov dword [ebp - 0x378], ebx
mov dword [ebp - 0x37c], esi
mov byte [ebp - 0x38c], 0
call fcn.100012e0
jmp 0x10155990
mov byte [ebp - 4], 0x30
mov esi, dword [ebp - 0x370]
test esi, esi
je 0x10155d28
lea edx, [esi + 4]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x10155d28
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x10155d28
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
mov byte [ebp - 4], 0x1f
mov esi, dword [ebp - 0x3dc]
test esi, esi
je 0x10155d60
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x10155d60
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x10155d60
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
mov byte [ebp - 4], 0x16
mov esi, dword [ebp - 0x368]
test esi, esi
je 0x10155d98
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x10155d98
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x10155d98
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
lea eax, [ebp - 0x2a0]
mov byte [ebp - 4], 0xd
call fcn.100b4e60
mov byte [ebp - 4], 0xc
mov esi, dword [ebp - 0x330]
test esi, esi
je 0x10155ddf
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x10155ddf
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x10155ddf
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
lea eax, [ebp - 0x5c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.10054b80
mov eax, 0xc001000e
jmp 0x10156fbd
push str.____d__writing_to__s
lea ecx, [ebp - 0x55c]
push ecx
call fcn.10015560
lea ecx, [ebp - 0x3a0]
mov byte [ebp - 4], 0x3d
lea edx, [ebp - 0x298]
push ecx
mov ecx, eax
mov dword [ebp - 0x3a0], edx
mov dword [ebp - 0x39c], fcn.10029dc0
mov dword [ebp - 0x398], 0x1001e5d0
call fcn.1001bcd0
mov edx, dword [ebp - 0x298]
lea edx, [edx + edx*8]
shl edx, 6
lea ecx, [ebp - 0x3cc]
add esp, 4
add edx, edi
push ecx
mov ecx, eax
mov dword [ebp - 0x3cc], edx
mov dword [ebp - 0x3c8], fcn.10029dc0
mov dword [ebp - 0x3c4], 0x10100520
call fcn.1001bcd0
add esp, 4
lea edx, [ebp - 0x34]
mov ecx, eax
call fcn.10015670
lea edx, [ebp - 0x55c]
push edx
mov byte [ebp - 4], 0x3f
call fcn.1000b3f0
mov eax, dword [ebp - 0x36c]
cmp eax, ebx
je 0x10155ebb
cmp dword [ebp - 0x18], 0x10
mov edx, dword [ebp - 0x2c]
jae 0x10155ea8
lea edx, [ebp - 0x2c]
mov eax, dword [eax]
cmp eax, ebx
je 0x10155ebb
mov ecx, dword [eax + 8]
cmp ecx, ebx
je 0x10155ebb
mov eax, dword [eax]
push edx
push eax
call ecx
lea ecx, [ebp - 0x284]
mov dword [ebp - 0x284], 2
mov dword [ebp - 0x27c], ecx
call fcn.1005c100
mov esi, dword [eax]
lea edx, [ebp - 0x27c]
push edx
lea eax, [ebp - 0x28c]
push eax
call fcn.100158b0
mov ecx, dword [eax]
mov dword [ebp - 0x294], ecx
mov dword [eax], ebx
mov byte [ebp - 4], 0x40
mov eax, dword [ebp - 0x28c]
cmp eax, ebx
je 0x10155f12
push eax
call fcn.102b3490
add esp, 4
mov dword [ebp - 0x28c], ebx
mov ebx, 0xf
jmp 0x10155f20
cmp dword [ebp - 0x294], 0
je 0x10156197
push 0x10420184
push 0x1043c81c
push str.__line:
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x290], esp
push str.._logic_logic.cpp
call fcn.10003660
lea esi, [ebp - 0x32c]
call fcn.10069570
add esp, 0x20
mov esi, eax
push 0x10421098
lea ecx, [ebp - 0x2c0]
mov byte [ebp - 4], 0x41
call fcn.10003660
push esi
push eax
lea edx, [ebp - 0x300]
push edx
mov byte [ebp - 4], 0x42
call fcn.10015a90
add esp, 0xc
push eax
lea eax, [ebp - 0x2e0]
push eax
mov byte [ebp - 4], 0x43
call fcn.10015b40
add esp, 0xc
push eax
lea ecx, [ebp - 0x3c0]
push ecx
mov byte [ebp - 4], 0x44
call fcn.10015b40
add esp, 0xc
push eax
lea edx, [ebp - 0x394]
push edx
mov byte [ebp - 4], 0x45
call fcn.10015b40
add esp, 0xc
mov edi, eax
mov byte [ebp - 4], 0x46
call fcn.1005c100
mov eax, dword [eax]
lea ecx, [ebp - 0x294]
push ecx
push eax
lea edx, [ebp - 0x3d8]
push edx
call fcn.10015980
add esp, 0xc
mov byte [ebp - 4], 0x47
mov esi, dword [eax + 4]
mov eax, dword [ebp - 0x2c]
add esi, 4
cmp dword [ebp - 0x18], 0x10
jae 0x10156000
lea eax, [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
call fcn.10013f30
cmp dword [edi + 0x1c], 0x10
mov ecx, dword [edi + 0x18]
jb 0x1015601a
mov eax, dword [edi + 8]
jmp 0x1015601d
lea eax, [edi + 8]
push ecx
push eax
mov ecx, esi
call fcn.10013f30
lea ecx, [ebp - 0x3d8]
mov byte [ebp - 4], 0x46
call fcn.10012b30
mov edi, 0x10
mov byte [ebp - 4], 0x45
cmp dword [ebp - 0x378], edi
jb 0x10156055
mov edx, dword [ebp - 0x38c]
push edx
call fcn.1026bc50
add esp, 4
xor esi, esi
lea ecx, [ebp - 0x394]
mov dword [ebp - 0x378], ebx
mov dword [ebp - 0x37c], esi
mov byte [ebp - 0x38c], 0
call fcn.100012e0
mov byte [ebp - 4], 0x44
cmp dword [ebp - 0x3a4], edi
jb 0x10156090
mov eax, dword [ebp - 0x3b8]
push eax
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x3c0]
mov dword [ebp - 0x3a4], ebx
mov dword [ebp - 0x3a8], esi
mov byte [ebp - 0x3b8], 0
call fcn.100012e0
mov byte [ebp - 4], 0x43
cmp dword [ebp - 0x2c4], edi
jb 0x101560c9
mov ecx, dword [ebp - 0x2d8]
push ecx
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x2e0]
mov dword [ebp - 0x2c4], ebx
mov dword [ebp - 0x2c8], esi
mov byte [ebp - 0x2d8], 0
call fcn.100012e0
mov byte [ebp - 4], 0x42
cmp dword [ebp - 0x2e4], edi
jb 0x10156102
mov edx, dword [ebp - 0x2f8]
push edx
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x300]
mov dword [ebp - 0x2e4], ebx
mov dword [ebp - 0x2e8], esi
mov byte [ebp - 0x2f8], 0
call fcn.100012e0
mov byte [ebp - 4], 0x41
cmp dword [ebp - 0x2a4], edi
jb 0x1015613b
mov eax, dword [ebp - 0x2b8]
push eax
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x2c0]
mov dword [ebp - 0x2a4], ebx
mov dword [ebp - 0x2a8], esi
mov byte [ebp - 0x2b8], 0
call fcn.100012e0
mov byte [ebp - 4], 0x40
cmp dword [ebp - 0x310], edi
jb 0x10156174
mov ecx, dword [ebp - 0x324]
push ecx
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x32c]
mov dword [ebp - 0x310], ebx
mov dword [ebp - 0x314], esi
mov byte [ebp - 0x324], 0
call fcn.100012e0
jmp 0x10155f20
mov edx, dword [ebp - 0x36c]
sub esp, 8
mov eax, esp
mov dword [eax], edx
mov ecx, dword [ebp - 0x368]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x368]
mov dword [ebp - 0x290], esp
test eax, eax
je 0x101561c9
add eax, 4
mov edx, 1
lock xadd dword [eax], edx
mov ebx, dword [ebp - 0x370]
mov esi, dword [ebp - 0x374]
sub esp, 8
mov eax, esp
mov dword [eax], esi
mov dword [ebp - 0x284], esp
mov dword [eax + 4], ebx
test ebx, ebx
je 0x101561f5
lea eax, [ebx + 4]
mov ecx, 1
lock xadd dword [eax], ecx
mov byte [ebp - 4], 0x49
mov eax, dword [ebp - 0x298]
lea edx, [eax + eax*8]
shl edx, 6
add edx, dword [ebp - 0x288]
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x27c], esp
push edx
call fcn.10003660
mov eax, dword [ebp - 0x334]
mov ecx, dword [eax + 0x30]
lea edx, [ebp - 0x360]
push edx
mov byte [ebp - 4], 0x3f
call fcn.10087200
mov edi, eax
mov dword [ebp - 0x280], edi
test edi, edi
jge 0x101567c7
lea eax, [ebp - 0x284]
mov dword [ebp - 0x284], 4
mov dword [ebp - 0x27c], eax
call fcn.1005c100
mov esi, dword [eax]
lea ecx, [ebp - 0x27c]
push ecx
lea edx, [ebp - 0x28c]
push edx
call fcn.100158b0
mov ecx, dword [eax]
mov dword [ebp - 0x304], ecx
mov dword [eax], 0
mov byte [ebp - 4], 0x4a
mov eax, dword [ebp - 0x28c]
test eax, eax
je 0x101562b0
push eax
call fcn.102b3490
add esp, 4
mov dword [ebp - 0x28c], 0
jmp 0x101562b0
cmp dword [ebp - 0x304], 0
je 0x10156697
push 0x10420184
push 0x1043ce38
push str.__line:
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x290], esp
push str.._logic_logic.cpp
call fcn.10003660
lea esi, [ebp - 0x400]
call fcn.10069570
add esp, 0x20
mov esi, eax
push 0x10421098
lea ecx, [ebp - 0x354]
mov byte [ebp - 4], 0x4b
call fcn.10003660
push esi
push eax
lea edx, [ebp - 0x32c]
push edx
mov byte [ebp - 4], 0x4c
call fcn.10015a90
add esp, 0xc
push eax
lea eax, [ebp - 0x2c0]
push eax
mov byte [ebp - 4], 0x4d
call fcn.10015b40
add esp, 0xc
push eax
lea ecx, [ebp - 0x300]
push ecx
mov byte [ebp - 4], 0x4e
call fcn.10015b40
add esp, 0xc
push eax
lea edx, [ebp - 0x2e0]
push edx
mov byte [ebp - 4], 0x4f
call fcn.10015b40
add esp, 0xc
mov ebx, eax
mov byte [ebp - 4], 0x50
mov eax, dword [ebp - 0x280]
push eax
lea ecx, [ebp - 0x3c0]
push ecx
call fcn.10115ee0
add esp, 8
mov esi, eax
push str.download_failed_index:_d__name:__s_:__s
lea edx, [ebp - 0x55c]
push edx
mov byte [ebp - 4], 0x51
call fcn.10015560
mov byte [ebp - 4], 0x52
lea ecx, [ebp - 0x298]
lea edx, [ebp - 0x360]
mov dword [ebp - 0x360], ecx
push edx
mov ecx, eax
mov dword [ebp - 0x35c], fcn.10029dc0
mov dword [ebp - 0x358], 0x1001e5d0
call fcn.1001bcd0
mov edx, dword [ebp - 0x298]
lea ecx, [edx + edx*8]
shl ecx, 6
add esp, 4
add ecx, dword [ebp - 0x288]
mov dword [ebp - 0x3c8], fcn.10029dc0
mov dword [ebp - 0x3cc], ecx
mov dword [ebp - 0x3c4], 0x10100520
lea edx, [ebp - 0x3cc]
push edx
mov ecx, eax
call fcn.1001bcd0
lea ecx, [ebp - 0x3a0]
add esp, 4
push ecx
mov ecx, eax
mov dword [ebp - 0x3a0], esi
mov dword [ebp - 0x39c], fcn.10029dc0
mov dword [ebp - 0x398], 0x1001e7c0
call fcn.1001bcd0
add esp, 4
lea edx, [ebp - 0x394]
mov ecx, eax
call fcn.10015670
mov edi, eax
mov byte [ebp - 4], 0x53
call fcn.1005c100
mov eax, dword [eax]
lea edx, [ebp - 0x304]
push edx
push eax
lea eax, [ebp - 0x3d8]
push eax
call fcn.10015980
add esp, 0xc
mov byte [ebp - 4], 0x54
mov esi, dword [eax + 4]
mov eax, dword [edi + 0x18]
add esi, 4
cmp dword [edi + 0x1c], 0x10
jb 0x1015646f
mov edi, dword [edi + 8]
jmp 0x10156472
add edi, 8
push eax
push edi
mov ecx, esi
call fcn.10013f30
mov ecx, dword [ebx + 0x18]
mov edi, 0x10
cmp dword [ebx + 0x1c], edi
jb 0x1015648d
mov eax, dword [ebx + 8]
jmp 0x10156490
lea eax, [ebx + 8]
push ecx
push eax
mov ecx, esi
call fcn.10013f30
lea ecx, [ebp - 0x3d8]
mov byte [ebp - 4], 0x53
call fcn.10012b30
mov byte [ebp - 4], 0x52
cmp dword [ebp - 0x378], edi
jb 0x101564c3
mov ecx, dword [ebp - 0x38c]
push ecx
call fcn.1026bc50
add esp, 4
xor ebx, ebx
mov esi, 0xf
lea ecx, [ebp - 0x394]
mov dword [ebp - 0x378], esi
mov dword [ebp - 0x37c], ebx
mov byte [ebp - 0x38c], bl
call fcn.100012e0
lea edx, [ebp - 0x55c]
push edx
mov byte [ebp - 4], 0x51
call fcn.1000b3f0
mov byte [ebp - 4], 0x50
cmp dword [ebp - 0x3a4], edi
jb 0x10156512
mov eax, dword [ebp - 0x3b8]
push eax
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x3c0]
mov dword [ebp - 0x3a4], esi
mov dword [ebp - 0x3a8], ebx
mov byte [ebp - 0x3b8], 0
call fcn.100012e0
mov byte [ebp - 4], 0x4f
cmp dword [ebp - 0x2c4], edi
jb 0x1015654b
mov ecx, dword [ebp - 0x2d8]
push ecx
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x2e0]
mov dword [ebp - 0x2c4], esi
mov dword [ebp - 0x2c8], ebx
mov byte [ebp - 0x2d8], 0
call fcn.100012e0
mov byte [ebp - 4], 0x4e
cmp dword [ebp - 0x2e4], edi
jb 0x10156584
mov edx, dword [ebp - 0x2f8]
push edx
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x300]
mov dword [ebp - 0x2e4], esi
mov dword [ebp - 0x2e8], ebx
mov byte [ebp - 0x2f8], 0
call fcn.100012e0
mov byte [ebp - 4], 0x4d
cmp dword [ebp - 0x2a4], edi
jb 0x101565bd
mov eax, dword [ebp - 0x2b8]
push eax
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x2c0]
mov dword [ebp - 0x2a4], esi
mov dword [ebp - 0x2a8], ebx
mov byte [ebp - 0x2b8], 0
call fcn.100012e0
mov byte [ebp - 4], 0x4c
cmp dword [ebp - 0x310], edi
jb 0x101565f6
mov ecx, dword [ebp - 0x324]
push ecx
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x32c]
mov dword [ebp - 0x310], esi
mov dword [ebp - 0x314], ebx
mov byte [ebp - 0x324], 0
call fcn.100012e0
mov byte [ebp - 4], 0x4b
cmp dword [ebp - 0x338], edi
jb 0x1015662f
mov edx, dword [ebp - 0x34c]
push edx
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x354]
mov dword [ebp - 0x338], esi
mov dword [ebp - 0x33c], ebx
mov byte [ebp - 0x34c], 0
call fcn.100012e0
mov byte [ebp - 4], 0x4a
cmp dword [ebp - 0x3e4], edi
jb 0x10156668
mov eax, dword [ebp - 0x3f8]
push eax
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x400]
mov dword [ebp - 0x3e4], esi
mov dword [ebp - 0x3e8], ebx
mov byte [ebp - 0x3f8], 0
call fcn.100012e0
mov ebx, dword [ebp - 0x370]
mov edi, dword [ebp - 0x280]
jmp 0x101562b0
mov byte [ebp - 4], 0x31
cmp dword [ebp - 0x18], 0x10
jb 0x101566ad
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
call fcn.100012e0
mov byte [ebp - 4], 0x30
test ebx, ebx
je 0x101566f9
lea edx, [ebx + 4]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x101566f9
mov edx, dword [ebx]
mov eax, dword [edx + 4]
mov ecx, ebx
call eax
lea ecx, [ebx + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x101566f9
mov eax, dword [ebx]
mov edx, dword [eax + 8]
mov ecx, ebx
call edx
mov byte [ebp - 4], 0x1f
mov esi, dword [ebp - 0x3dc]
test esi, esi
je 0x10156731
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x10156731
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x10156731
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
mov byte [ebp - 4], 0x16
mov esi, dword [ebp - 0x368]
test esi, esi
je 0x10156769
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x10156769
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x10156769
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
lea eax, [ebp - 0x2a0]
mov byte [ebp - 4], 0xd
call fcn.100b4e60
mov byte [ebp - 4], 0xc
mov esi, dword [ebp - 0x330]
test esi, esi
je 0x101567b0
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x101567b0
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x101567b0
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
lea eax, [ebp - 0x5c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.10054b80
mov eax, edi
jmp 0x10156fbd
mov edx, dword [esi + 4]
mov eax, dword [edx + 8]
lea ecx, [esi + 4]
call eax
mov byte [ebp - 4], 0x31
cmp dword [ebp - 0x18], 0x10
jb 0x101567e8
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
call fcn.100012e0
mov esi, dword [ebp - 0x298]
inc esi
jmp 0x1015570d
lea edx, [ebp - 0x284]
mov dword [ebp - 0x284], 2
mov dword [ebp - 0x27c], edx
call fcn.1005c100
mov esi, dword [eax]
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x304]
push ecx
call fcn.100158b0
mov edx, dword [eax]
mov dword [ebp - 0x294], edx
mov dword [eax], 0
mov byte [ebp - 4], 0x55
mov eax, dword [ebp - 0x304]
test eax, eax
je 0x10156870
push eax
call fcn.102b3490
add esp, 4
mov dword [ebp - 0x304], 0
lea ecx, [ecx]
cmp dword [ebp - 0x294], 0
je 0x10156ae3
push 0x10420184
push 0x1043ce3c
push str.__line:
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x290], esp
push str.._logic_logic.cpp
call fcn.10003660
lea esi, [ebp - 0x2c0]
call fcn.10069570
add esp, 0x20
mov esi, eax
push 0x10421098
lea ecx, [ebp - 0x300]
mov byte [ebp - 4], 0x56
call fcn.10003660
push esi
push eax
lea eax, [ebp - 0x2e0]
push eax
mov byte [ebp - 4], 0x57
call fcn.10015a90
add esp, 0xc
push eax
lea ecx, [ebp - 0x3c0]
push ecx
mov byte [ebp - 4], 0x58
call fcn.10015b40
add esp, 0xc
push eax
lea edx, [ebp - 0x394]
push edx
mov byte [ebp - 4], 0x59
call fcn.10015b40
add esp, 0xc
push eax
lea eax, [ebp - 0x400]
push eax
mov byte [ebp - 4], 0x5a
call fcn.10015b40
add esp, 0xc
mov edi, eax
mov byte [ebp - 4], 0x5b
call fcn.1005c100
mov eax, dword [eax]
lea ecx, [ebp - 0x294]
push ecx
push eax
lea edx, [ebp - 0x3d8]
push edx
call fcn.10015980
add esp, 0xc
mov byte [ebp - 4], 0x5c
mov esi, dword [eax + 4]
push 0x12
add esi, 4
push str.download_info_end.
mov ecx, esi
call fcn.10013f30
cmp dword [edi + 0x1c], 0x10
mov eax, dword [edi + 0x18]
jb 0x10156960
mov edi, dword [edi + 8]
jmp 0x10156963
add edi, 8
push eax
push edi
mov ecx, esi
call fcn.10013f30
lea ecx, [ebp - 0x3d8]
mov byte [ebp - 4], 0x5b
call fcn.10012b30
mov byte [ebp - 4], 0x5a
cmp dword [ebp - 0x3e4], 0x10
jb 0x10156997
mov eax, dword [ebp - 0x3f8]
push eax
call fcn.1026bc50
add esp, 4
mov edi, 0xf
xor esi, esi
lea ecx, [ebp - 0x400]
mov dword [ebp - 0x3e4], edi
mov dword [ebp - 0x3e8], esi
mov byte [ebp - 0x3f8], 0
call fcn.100012e0
mov byte [ebp - 4], 0x59
cmp dword [ebp - 0x378], 0x10
jb 0x101569d8
mov ecx, dword [ebp - 0x38c]
push ecx
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x394]
mov dword [ebp - 0x378], edi
mov dword [ebp - 0x37c], esi
mov byte [ebp - 0x38c], 0
call fcn.100012e0
mov byte [ebp - 4], 0x58
cmp dword [ebp - 0x3a4], 0x10
jb 0x10156a12
mov edx, dword [ebp - 0x3b8]
push edx
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x3c0]
mov dword [ebp - 0x3a4], edi
mov dword [ebp - 0x3a8], esi
mov byte [ebp - 0x3b8], 0
call fcn.100012e0
mov byte [ebp - 4], 0x57
cmp dword [ebp - 0x2c4], 0x10
jb 0x10156a4c
mov eax, dword [ebp - 0x2d8]
push eax
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x2e0]
mov dword [ebp - 0x2c4], edi
mov dword [ebp - 0x2c8], esi
mov byte [ebp - 0x2d8], 0
call fcn.100012e0
mov byte [ebp - 4], 0x56
cmp dword [ebp - 0x2e4], 0x10
jb 0x10156a86
mov ecx, dword [ebp - 0x2f8]
push ecx
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x300]
mov dword [ebp - 0x2e4], edi
mov dword [ebp - 0x2e8], esi
mov byte [ebp - 0x2f8], 0
call fcn.100012e0
mov byte [ebp - 4], 0x55
cmp dword [ebp - 0x2a4], 0x10
jb 0x10156ac0
mov edx, dword [ebp - 0x2b8]
push edx
call fcn.1026bc50
add esp, 4
lea ecx, [ebp - 0x2c0]
mov dword [ebp - 0x2a4], edi
mov dword [ebp - 0x2a8], esi
mov byte [ebp - 0x2b8], 0
call fcn.100012e0
jmp 0x10156870
mov byte [ebp - 4], 0x31
mov eax, dword [ebp - 0x334]
mov ecx, dword [eax + 0x30]
push 0x80002
call fcn.100796f0
mov edi, eax
mov byte [ebp - 4], 0x30
test ebx, ebx
je 0x10156b2e
lea ecx, [ebx + 4]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x10156b2e
mov eax, dword [ebx]
mov edx, dword [eax + 4]
mov ecx, ebx
call edx
lea eax, [ebx + 8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x10156b2e
mov edx, dword [ebx]
mov eax, dword [edx + 8]
mov ecx, ebx
call eax
mov byte [ebp - 4], 0x1f
mov esi, dword [ebp - 0x3dc]
test esi, esi
je 0x10156b66
lea ecx, [esi + 4]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x10156b66
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
lea eax, [esi + 8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x10156b66
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
mov byte [ebp - 4], 0x16
mov esi, dword [ebp - 0x368]
test esi, esi
je 0x10156b9e
lea ecx, [esi + 4]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x10156b9e
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
lea eax, [esi + 8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x10156b9e
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
lea eax, [ebp - 0x2a0]
mov byte [ebp - 4], 0xd
call fcn.100b4e60
mov byte [ebp - 4], 0xc
mov esi, dword [ebp - 0x330]
test esi, esi
je 0x10156be5
lea ecx, [esi + 4]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x10156be5
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
lea eax, [esi + 8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x10156be5
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
lea ecx, [ebp - 0x5c]
push ecx
mov dword [ebp - 4], 0xffffffff
call fcn.10054b80
mov eax, edi
jmp 0x10156fbd
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1026af30
mov esp, ebp
pop ebp
ret