Function at 0x41dcd0
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xec
mov dword [ebp - 0xc4], ecx
mov ebx, dword [0xe6be2c]
mov dword [esp + 4], 7
mov dword [esp], 0x454c97
call ebx
mov dword [ebp - 0x78], eax
mov dword [esp + 4], 2
mov dword [esp], 0x454c9f
call ebx
mov dword [ebp - 0x74], eax
mov dword [esp + 4], 5
mov dword [esp], 0x454ca2
call ebx
mov dword [ebp - 0x70], eax
mov dword [esp + 4], 3
mov dword [esp], 0x454ca8
call ebx
mov dword [ebp - 0x6c], eax
mov dword [esp + 4], 9
mov dword [esp], 0x454cac
call ebx
mov dword [ebp - 0x68], eax
mov dword [esp + 4], 3
mov dword [esp], 0x454cb6
call ebx
mov dword [ebp - 0x64], eax
mov dword [esp + 4], 6
mov dword [esp], 0x454cba
call ebx
mov dword [ebp - 0x60], eax
mov dword [esp + 4], 4
mov dword [esp], 0x454cc1
call ebx
mov dword [ebp - 0x5c], eax
mov dword [esp + 4], 4
mov dword [esp], 0x454cc6
call ebx
mov dword [ebp - 0x58], eax
mov dword [esp + 4], 2
mov dword [esp], 0x454ccb
call ebx
mov dword [ebp - 0x54], eax
mov dword [esp + 4], 0xc
mov dword [esp], 0x454cce
call ebx
mov dword [ebp - 0x50], eax
mov dword [esp + 4], 4
mov dword [esp], 0x454cdb
call ebx
mov dword [ebp - 0x4c], eax
mov dword [esp + 4], 0xd
mov dword [esp], 0x454ce0
call ebx
mov dword [ebp - 0x48], eax
mov dword [esp + 4], 2
mov dword [esp], 0x454cee
call ebx
mov dword [ebp - 0x44], eax
mov dword [esp + 4], 9
mov dword [esp], 0x454cf1
call ebx
mov dword [ebp - 0x40], eax
mov dword [esp + 4], 3
mov dword [esp], 0x454cfb
call ebx
mov dword [ebp - 0x3c], eax
mov dword [esp + 4], 5
mov dword [esp], 0x454cff
call ebx
mov dword [ebp - 0x38], eax
mov dword [esp + 4], 3
mov dword [esp], 0x454d05
call ebx
mov dword [ebp - 0x34], eax
mov dword [esp + 4], 5
mov dword [esp], 0x454d09
call ebx
mov dword [ebp - 0x30], eax
mov dword [esp + 4], 3
mov dword [esp], 0x454d0f
call ebx
mov dword [ebp - 0x2c], eax
mov dword [esp + 4], 0xa
mov dword [esp], 0x454d13
call ebx
mov dword [ebp - 0x28], eax
mov dword [esp + 4], 3
mov dword [esp], 0x454d1e
call ebx
mov dword [ebp - 0x24], eax
mov dword [esp + 4], 0xe
mov dword [esp], 0x454d22
call ebx
mov dword [ebp - 0x20], eax
mov dword [esp + 4], 2
mov dword [esp], 0x454d31
call ebx
mov esi, dword [0xe6bbdc]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xb8], esi
mov dword [ebp - 0xb4], esi
mov dword [ebp - 0xb0], esi
call fcn.0040dac0
mov edi, eax
mov eax, dword [0xe6c0d4]
mov dword [esp], 0xc
lea ecx, [ebp - 0x88]
mov dword [ebp - 0xbc], eax
call eax
sub esp, 4
mov dword [esp + 4], 0
mov dword [esp], 0x454b94
call ebx
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0x88]
mov dword [esp + 4], 0
mov ecx, edi
mov dword [esp + 8], eax
lea eax, [ebp - 0x94]
mov dword [esp], eax
call fcn.0040db30
mov eax, dword [ebp - 0x94]
sub esp, 0xc
mov edx, dword [eax]
test edx, edx
je 0x41e170
cmp edx, 0xffffffff
je 0x41df65
lock sub dword [eax], 1
mov eax, dword [ebp - 0x94]
je 0x41e170
call fcn.0040dac0
mov edi, eax
mov dword [esp], 0xc
lea ecx, [ebp - 0x88]
mov eax, dword [ebp - 0xbc]
call eax
sub esp, 4
mov dword [esp + 4], 0x1c
mov dword [esp], 0x454d34
call ebx
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0x88]
mov dword [esp + 4], 0
mov ecx, edi
mov dword [esp + 8], eax
lea eax, [ebp - 0x94]
mov dword [esp], eax
call fcn.0040db30
mov eax, dword [ebp - 0x94]
sub esp, 0xc
mov edx, dword [eax]
test edx, edx
je 0x41e190
cmp edx, 0xffffffff
je 0x41dfe5
lock sub dword [eax], 1
mov eax, dword [ebp - 0x94]
je 0x41e190
mov ecx, dword [ebp + 8]
call fcn.0041d210
test al, al
jne 0x41e1b0
call fcn.0040dac0
mov esi, eax
mov dword [esp], 7
lea ecx, [ebp - 0x88]
mov eax, dword [ebp - 0xbc]
call eax
sub esp, 4
mov dword [esp + 4], 9
mov dword [esp], 0x454c59
call ebx
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0x88]
mov dword [esp + 4], 1
mov ecx, esi
mov dword [esp + 8], eax
lea eax, [ebp - 0x94]
mov dword [esp], eax
call fcn.0040db30
mov eax, dword [ebp - 0x94]
sub esp, 0xc
mov edx, dword [eax]
test edx, edx
je 0x41e070
cmp edx, 0xffffffff
je 0x41e089
lock sub dword [eax], 1
mov eax, dword [ebp - 0x94]
jne 0x41e089
lea esi, [esi]
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
mov dword [esp + 4], 9
mov dword [esp], 0x454c59
call ebx
mov edi, dword [ebp - 0xc4]
mov dword [edi], eax
mov eax, dword [ebp - 0xb0]
mov edx, dword [eax]
test edx, edx
je 0x41e2f7
cmp edx, 0xffffffff
je 0x41e0c7
lock sub dword [eax], 1
mov eax, dword [ebp - 0xb0]
je 0x41e2f7
mov eax, dword [ebp - 0xb4]
mov edx, dword [eax]
test edx, edx
je 0x41e320
cmp edx, 0xffffffff
je 0x41e0ec
lock sub dword [eax], 1
mov eax, dword [ebp - 0xb4]
je 0x41e320
mov eax, dword [ebp - 0xb8]
mov edx, dword [eax]
test edx, edx
je 0x41e349
cmp edx, 0xffffffff
je 0x41e111
lock sub dword [eax], 1
mov eax, dword [ebp - 0xb8]
je 0x41e349
lea ebx, [ebp - 0x18]
lea esi, [ebp - 0x78]
mov edi, dword [0xe6bbd8]
jmp 0x41e133
cmp edx, 0xffffffff
je 0x41e12f
lock sub dword [eax], 1
je 0x41e730
cmp ebx, esi
je 0x41e157
sub ebx, 4
mov eax, dword [ebx]
mov edx, dword [eax]
test edx, edx
jne 0x41e120
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call edi
cmp ebx, esi
jne 0x41e133
mov eax, dword [ebp - 0xc4]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 8
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41df65
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41dfe5
mov eax, dword [ebp + 8]
mov dword [esp + 4], 0
lea ecx, [ebp - 0x94]
add eax, 8
mov dword [esp], eax
call dword [0xe6c174]
sub esp, 8
lea ecx, [ebp - 0x94]
mov dword [esp + 4], 3
mov dword [esp], 0x1c200
call dword [0xe6c14c]
sub esp, 8
lea ecx, [ebp - 0x94]
mov dword [esp], 8
call dword [0xe6c150]
sub esp, 4
lea ecx, [ebp - 0x94]
mov dword [esp], 0
call dword [0xe6c16c]
sub esp, 4
lea ecx, [ebp - 0x94]
mov dword [esp], 1
call dword [0xe6c158]
sub esp, 4
lea ecx, [ebp - 0x94]
mov dword [esp], 0
call dword [0xe6c15c]
sub esp, 4
lea ecx, [ebp - 0x94]
mov dword [esp], 3
call dword [0xe6c164]
sub esp, 4
test al, al
mov byte [ebp - 0xc0], al
jne 0x41e370
mov dword [esp + 4], 0x1a
mov dword [esp], 0x454c63
call ebx
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x88]
mov dword [esp + 4], 7
mov dword [esp], eax
call fcn.0041cfb0
mov eax, dword [ebp - 0x88]
sub esp, 8
mov edx, dword [eax]
test edx, edx
je 0x41e816
cmp edx, 0xffffffff
je 0x41e2c2
lock sub dword [eax], 1
mov eax, dword [ebp - 0x88]
je 0x41e816
mov dword [esp + 4], 0x1a
mov dword [esp], 0x454c63
call ebx
mov edi, dword [ebp - 0xc4]
mov dword [edi], eax
lea ecx, [ebp - 0x94]
call dword [0xe6c178]
mov eax, dword [ebp - 0xb0]
mov edx, dword [eax]
test edx, edx
jne 0x41e0b2
mov dword [esp], eax
mov dword [esp + 8], 4
mov dword [esp + 4], 2
call dword [0xe6bbd8]
mov eax, dword [ebp - 0xb4]
mov edx, dword [eax]
test edx, edx
jne 0x41e0d7
mov dword [esp], eax
mov dword [esp + 8], 4
mov dword [esp + 4], 2
call dword [0xe6bbd8]
mov eax, dword [ebp - 0xb8]
mov edx, dword [eax]
test edx, edx
jne 0x41e0fc
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41e111
mov dword [esp + 4], 0xd
mov dword [esp], 0x454d51
call ebx
mov dword [ebp - 0xac], eax
lea eax, [ebp - 0xac]
lea ecx, [ebp - 0xa8]
mov dword [esp + 0xc], 0x1b58
mov dword [esp + 8], eax
lea eax, [ebp - 0x94]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0041d000
sub esp, 0x10
cmp dword [ebp - 0xa8], esi
je 0x41e737
mov dword [esp + 4], 6
mov dword [esp], 0x454d5f
call ebx
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0x98]
mov dword [esp + 8], 1
mov dword [esp + 4], 0
lea ecx, [ebp - 0xa8]
mov dword [esp], eax
mov eax, dword [0xe6bffc]
mov dword [ebp - 0xcc], eax
call eax
sub esp, 0xc
cmp eax, 0xffffffff
je 0x41f2b2
mov eax, dword [ebp - 0x98]
mov edx, dword [eax]
test edx, edx
je 0x41e42f
cmp edx, 0xffffffff
je 0x41e448
lock sub dword [eax], 1
jne 0x41e448
mov eax, dword [ebp - 0x98]
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
xor edi, edi
cmp byte [ebp - 0xc0], 0
lea esi, [ebp - 0x78]
je 0x41e67b
jmp 0x41e737
cmp edx, 0xffffffff
je 0x41e475
lock sub dword [eax], 1
mov eax, dword [ebp - 0x88]
je 0x41e711
lea eax, [ebp - 0x98]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x9c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
lea eax, [ebp - 0xa0]
mov dword [esp], eax
call fcn.0040fab0
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
test edx, edx
je 0x41edc0
cmp edx, 0xffffffff
je 0x41e4c6
lock sub dword [eax], 1
mov eax, dword [ebp - 0x9c]
je 0x41edc0
mov eax, dword [ebp - 0x98]
mov edx, dword [eax]
test edx, edx
je 0x41eda0
cmp edx, 0xffffffff
je 0x41e4eb
lock sub dword [eax], 1
mov eax, dword [ebp - 0x98]
je 0x41eda0
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax + 4]
test edx, edx
je 0x41e650
test edi, edi
je 0x41f7b8
cmp edi, 1
je 0x41f84d
cmp edi, 2
je 0x41f340
call fcn.0040dac0
mov dword [ebp - 0xc8], eax
mov dword [esp], 3
lea ecx, [ebp - 0x88]
mov eax, dword [ebp - 0xbc]
call eax
mov edx, dword [esi + edi*8]
sub esp, 4
mov dword [ebp - 0x9c], edx
mov eax, dword [edx]
add eax, 1
cmp eax, 1
ja 0x41ee30
lea eax, [ebp - 0x98]
mov dword [esp + 8], 3
mov dword [esp + 4], 0x454dc8
mov dword [esp], eax
call dword [0xe6be24]
lea eax, [ebp - 0x98]
lea ecx, [ebp - 0x9c]
mov dword [esp], eax
mov eax, dword [ebp - 0xc0]
call eax
mov eax, dword [ebp - 0x98]
sub esp, 4
mov edx, dword [eax]
test edx, edx
je 0x41ee00
cmp edx, 0xffffffff
je 0x41e5ae
lock sub dword [eax], 1
mov eax, dword [ebp - 0x98]
je 0x41ee00
lea eax, [ebp - 0x88]
mov ecx, dword [ebp - 0xc8]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x9c]
mov dword [esp], eax
call fcn.0040db30
mov eax, dword [ebp - 0x9c]
sub esp, 0xc
mov edx, dword [eax]
test edx, edx
je 0x41ede0
cmp edx, 0xffffffff
je 0x41e5fc
lock sub dword [eax], 1
mov eax, dword [ebp - 0x9c]
je 0x41ede0
call fcn.0040dac0
mov dword [ebp - 0xc0], eax
lea ecx, [ebp - 0x88]
mov eax, dword [ebp - 0xbc]
mov dword [esp], 0xc
call eax
lea eax, [ebp - 0x88]
sub esp, 4
mov dword [esp + 4], 1
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp], eax
mov eax, dword [ebp - 0xc0]
mov ecx, eax
call fcn.0040db30
mov eax, dword [ebp - 0xa0]
sub esp, 0xc
mov edx, dword [eax]
test edx, edx
je 0x41e834
cmp edx, 0xffffffff
je 0x41e66f
lock sub dword [eax], 1
mov eax, dword [ebp - 0xa0]
je 0x41e834
add edi, 1
cmp edi, 0xc
je 0x41e859
cmp byte [0xe6a04c], 0
jne 0x41fa1d
mov dword [esp + 4], 2
mov dword [esp], 0x454d86
call ebx
mov edx, dword [esi + edi*8 + 4]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x9c], edx
mov eax, dword [edx]
add eax, 1
cmp eax, 1
ja 0x41ee20
lea eax, [ebp - 0x88]
mov dword [esp + 8], 1
mov dword [esp + 4], 0x454d89
mov dword [esp], eax
call dword [0xe6be24]
lea eax, [ebp - 0x9c]
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0x88]
mov dword [esp], eax
mov eax, dword [0xe6be3c]
mov dword [ebp - 0xc0], eax
call eax
mov eax, dword [ebp - 0x88]
sub esp, 4
mov edx, dword [eax]
test edx, edx
jne 0x41e460
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41e475
mov eax, dword [ebx]
jmp 0x41e13e
mov dword [esp + 4], 0x1a
mov dword [esp], 0x454d6b
lea esi, [ebp - 0x78]
call ebx
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x88]
mov dword [esp + 4], 7
mov dword [esp], eax
call fcn.0041cfb0
mov eax, dword [ebp - 0x88]
sub esp, 8
mov edx, dword [eax]
test edx, edx
je 0x41f276
cmp edx, 0xffffffff
je 0x41e792
lock sub dword [eax], 1
mov eax, dword [ebp - 0x88]
je 0x41f276
mov dword [esp + 4], 0x1a
mov dword [esp], 0x454d6b
lea esi, [ebp - 0x78]
call ebx
mov edi, dword [ebp - 0xc4]
mov dword [edi], eax
mov eax, dword [ebp - 0xa8]
mov edx, dword [eax]
test edx, edx
je 0x41f294
cmp edx, 0xffffffff
je 0x41e7d3
lock sub dword [eax], 1
mov eax, dword [ebp - 0xa8]
je 0x41f294
mov eax, dword [ebp - 0xac]
mov edx, dword [eax]
test edx, edx
je 0x41e7f8
cmp edx, 0xffffffff
je 0x41e2db
lock sub dword [eax], 1
mov eax, dword [ebp - 0xac]
jne 0x41e2db
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41e2db
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41e2c2
add edi, 1
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
cmp edi, 0xc
jne 0x41e67b
mov dword [esp + 4], 0x11
mov dword [esp], 0x454dcc
call ebx
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0x88]
lea ecx, [ebp - 0xa4]
mov dword [esp + 0xc], 0xbb8
mov dword [esp + 8], eax
lea eax, [ebp - 0x94]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0041d000
mov eax, dword [ebp - 0x88]
sub esp, 0x10
mov edx, dword [eax]
test edx, edx
je 0x41f168
cmp edx, 0xffffffff
je 0x41e8c5
lock sub dword [eax], 1
mov eax, dword [ebp - 0x88]
je 0x41f168
mov dword [esp + 4], 0xb
mov dword [esp], 0x454dde
call ebx
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0x88]
mov dword [esp + 8], 1
mov dword [esp + 4], 0
lea ecx, [ebp - 0xa4]
mov dword [esp], eax
mov eax, dword [ebp - 0xcc]
call eax
mov edx, dword [ebp - 0x88]
sub esp, 0xc
mov edi, eax
mov ecx, dword [edx]
test ecx, ecx
je 0x41f14a
cmp ecx, 0xffffffff
je 0x41e92d
lock sub dword [edx], 1
mov edx, dword [ebp - 0x88]
je 0x41f14a
cmp edi, 0xffffffff
je 0x41eac3
call fcn.0040dac0
mov edi, eax
mov dword [esp], 3
lea ecx, [ebp - 0x88]
mov eax, dword [ebp - 0xbc]
call eax
sub esp, 4
mov dword [esp + 4], 0x13
mov dword [esp], 0x454dea
call ebx
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0x88]
mov dword [esp + 4], 0
mov ecx, edi
mov dword [esp + 8], eax
lea eax, [ebp - 0x98]
mov dword [esp], eax
call fcn.0040db30
mov eax, dword [ebp - 0x98]
sub esp, 0xc
mov edx, dword [eax]
test edx, edx
je 0x41f1e0
cmp edx, 0xffffffff
je 0x41e9b6
lock sub dword [eax], 1
mov eax, dword [ebp - 0x98]
je 0x41f1e0
call fcn.0040dac0
mov edi, eax
mov dword [esp], 0xc
lea ecx, [ebp - 0x88]
mov eax, dword [ebp - 0xbc]
call eax
sub esp, 4
mov dword [esp + 4], 2
mov dword [esp], 0x454dfe
call ebx
mov dword [ebp - 0x9c], eax
mov dword [esp + 4], 0xb
mov dword [esp], 0x454dde
call ebx
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0x9c]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
lea eax, [ebp - 0x98]
mov dword [esp], eax
call fcn.0040fab0
lea eax, [ebp - 0x88]
mov dword [esp + 4], 1
mov ecx, edi
mov dword [esp + 8], eax
lea eax, [ebp - 0x98]
mov dword [esp], eax
call fcn.0040db30
mov eax, dword [ebp - 0x98]
sub esp, 0xc
mov edx, dword [eax]
test edx, edx
je 0x41f1c2
cmp edx, 0xffffffff
je 0x41ea79
lock sub dword [eax], 1
mov eax, dword [ebp - 0x98]
je 0x41f1c2
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax]
test edx, edx
je 0x41f1a4
cmp edx, 0xffffffff
je 0x41ea9e
lock sub dword [eax], 1
mov eax, dword [ebp - 0xa0]
je 0x41f1a4
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
test edx, edx
je 0x41f1fe
cmp edx, 0xffffffff
je 0x41eac3
lock sub dword [eax], 1
mov eax, dword [ebp - 0x9c]
je 0x41f1fe
mov dword [esp + 4], 0x11
mov dword [esp], 0x454e01
call ebx
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0x88]
lea ecx, [ebp - 0xa0]
mov dword [esp + 0xc], 0xbb8
mov dword [esp + 8], eax
lea eax, [ebp - 0x94]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0041d000
mov eax, dword [ebp - 0x88]
sub esp, 0x10
mov edx, dword [eax]
test edx, edx
je 0x41f12c
cmp edx, 0xffffffff
je 0x41eb2f
lock sub dword [eax], 1
mov eax, dword [ebp - 0x88]
je 0x41f12c
mov dword [esp + 4], 0xb
mov dword [esp], 0x454e13
call ebx
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0x88]
mov dword [esp + 8], 1
mov dword [esp + 4], 0
lea ecx, [ebp - 0xa0]
mov dword [esp], eax
mov eax, dword [ebp - 0xcc]
call eax
mov edx, dword [ebp - 0x88]
sub esp, 0xc
mov edi, eax
mov ecx, dword [edx]
test ecx, ecx
je 0x41f10e
cmp ecx, 0xffffffff
je 0x41eb97
lock sub dword [edx], 1
mov edx, dword [ebp - 0x88]
je 0x41f10e
cmp edi, 0xffffffff
je 0x41eebf
mov dword [esp + 4], 2
mov dword [esp], 0x454dfe
call ebx
mov dword [ebp - 0x88], eax
mov dword [esp + 4], 0xb
mov dword [esp], 0x454e13
call ebx
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0x88]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x98]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
lea eax, [ebp - 0x9c]
mov dword [esp], eax
call fcn.0040fab0
mov eax, dword [ebp - 0x98]
mov edx, dword [eax]
test edx, edx
je 0x41f258
cmp edx, 0xffffffff
je 0x41ec1f
lock sub dword [eax], 1
mov eax, dword [ebp - 0x98]
je 0x41f258
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
test edx, edx
je 0x41f23a
cmp edx, 0xffffffff
je 0x41ec44
lock sub dword [eax], 1
mov eax, dword [ebp - 0x88]
je 0x41f23a
call fcn.0040dac0
mov edi, eax
mov dword [esp], 3
lea ecx, [ebp - 0x88]
mov eax, dword [ebp - 0xbc]
call eax
sub esp, 4
mov dword [esp + 4], 0xd
mov dword [esp], 0x454e1f
call ebx
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0x88]
mov dword [esp + 4], 0
mov ecx, edi
mov dword [esp + 8], eax
lea eax, [ebp - 0x98]
mov dword [esp], eax
call fcn.0040db30
mov eax, dword [ebp - 0x98]
sub esp, 0xc
mov edx, dword [eax]
test edx, edx
je 0x41f21c
cmp edx, 0xffffffff
je 0x41ecc4
lock sub dword [eax], 1
mov eax, dword [ebp - 0x98]
je 0x41f21c
mov eax, dword [ebp - 0x9c]
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 0x454e2d
mov edx, dword [eax + 4]
mov dword [esp + 4], edx
add eax, dword [eax + 0xc]
mov dword [esp], eax
call dword [0xe6be14]
test eax, eax
jne 0x41ee39
call fcn.0040dac0
mov edi, eax
mov dword [esp], 0xc
lea ecx, [ebp - 0x88]
mov eax, dword [ebp - 0xbc]
call eax
sub esp, 4
mov dword [esp + 4], 6
mov dword [esp], 0x454e37
call ebx
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0x88]
mov dword [esp + 4], 1
mov ecx, edi
mov dword [esp + 8], eax
lea eax, [ebp - 0x98]
mov dword [esp], eax
call fcn.0040db30
mov eax, dword [ebp - 0x98]
sub esp, 0xc
mov edx, dword [eax]
test edx, edx
je 0x41ed7d
cmp edx, 0xffffffff
je 0x41ee7d
lock sub dword [eax], 1
mov eax, dword [ebp - 0x98]
jne 0x41ee7d
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41ee7d
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41e4eb
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41e4c6
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41e5fc
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41e5ae
lock add dword [edx], 1
jmp 0x41e6b7
lock add dword [edx], 1
jmp 0x41e550
call fcn.0040dac0
mov edi, eax
lea ecx, [ebp - 0x88]
mov eax, dword [ebp - 0xbc]
mov dword [esp], 0xc
call eax
lea eax, [ebp - 0x88]
sub esp, 4
mov ecx, edi
mov dword [esp + 4], 1
mov dword [esp + 8], eax
lea eax, [ebp - 0x9c]
mov dword [esp], eax
call fcn.0040db30
sub esp, 0xc
lea ecx, [ebp - 0x94]
call dword [0xe6c168]
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
test edx, edx
je 0x41eea6
cmp edx, 0xffffffff
je 0x41eebf
lock sub dword [eax], 1
mov eax, dword [ebp - 0x9c]
jne 0x41eebf
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax]
test edx, edx
je 0x41f0f0
cmp edx, 0xffffffff
je 0x41eee4
lock sub dword [eax], 1
mov eax, dword [ebp - 0xa0]
je 0x41f0f0
mov eax, dword [ebp - 0xa4]
mov edx, dword [eax]
test edx, edx
je 0x41f0d2
cmp edx, 0xffffffff
je 0x41ef09
lock sub dword [eax], 1
mov eax, dword [ebp - 0xa4]
je 0x41f0d2
mov eax, dword [ebp - 0xa8]
mov edx, dword [eax]
test edx, edx
je 0x41f0b4
cmp edx, 0xffffffff
je 0x41ef2e
lock sub dword [eax], 1
mov eax, dword [ebp - 0xa8]
je 0x41f0b4
mov eax, dword [ebp - 0xac]
mov edx, dword [eax]
test edx, edx
je 0x41f096
cmp edx, 0xffffffff
je 0x41ef53
lock sub dword [eax], 1
mov eax, dword [ebp - 0xac]
je 0x41f096
lea ecx, [ebp - 0x94]
call dword [0xe6c178]
mov eax, dword [ebp - 0xb0]
mov edx, dword [eax]
test edx, edx
je 0x41f078
cmp edx, 0xffffffff
je 0x41ef84
lock sub dword [eax], 1
mov eax, dword [ebp - 0xb0]
je 0x41f078
mov eax, dword [ebp - 0xb4]
mov edx, dword [eax]
test edx, edx
je 0x41f05a
cmp edx, 0xffffffff
je 0x41efa9
lock sub dword [eax], 1
mov eax, dword [ebp - 0xb4]
je 0x41f05a
mov eax, dword [ebp - 0xb8]
mov edx, dword [eax]
test edx, edx
je 0x41f186
cmp edx, 0xffffffff
je 0x41efce
lock sub dword [eax], 1
mov eax, dword [ebp - 0xb8]
je 0x41f186
lea eax, [ebp - 0x18]
mov edi, dword [0xe6bbd8]
mov dword [ebp - 0xbc], eax
jmp 0x41eff3
cmp edx, 0xffffffff
je 0x41efeb
lock sub dword [eax], 1
je 0x41f050
cmp dword [ebp - 0xbc], esi
je 0x41f025
sub dword [ebp - 0xbc], 4
mov eax, dword [ebp - 0xbc]
mov eax, dword [eax]
mov edx, dword [eax]
test edx, edx
jne 0x41efe0
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call edi
cmp dword [ebp - 0xbc], esi
jne 0x41eff3
mov dword [esp + 4], 0
mov dword [esp], 0x454b94
call ebx
mov edi, dword [ebp - 0xc4]
mov dword [edi], eax
mov eax, dword [ebp - 0xc4]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 8
mov eax, dword [ebp - 0xbc]
mov eax, dword [eax]
jmp 0x41f008
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41efa9
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41ef84
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41ef53
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41ef2e
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41ef09
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41eee4
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], edx
call dword [0xe6bbd8]
jmp 0x41eb97
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41eb2f
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], edx
call dword [0xe6bbd8]
jmp 0x41e92d
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41e8c5
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41efce
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41ea9e
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41ea79
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41e9b6
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41eac3
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41ecc4
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41ec44
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41ec1f
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41e792
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41e7d3
mov dword [esp + 4], 4
mov dword [esp], 0x454d66
call ebx
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0x88]
mov dword [esp + 8], 1
mov dword [esp + 4], 0
lea ecx, [ebp - 0xa8]
mov dword [esp], eax
mov eax, dword [ebp - 0xcc]
call eax
sub esp, 0xc
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x88]
sete byte [ebp - 0xc0]
mov edx, dword [eax]
test edx, edx
je 0x41f322
cmp edx, 0xffffffff
je 0x41e412
lock sub dword [eax], 1
mov eax, dword [ebp - 0x88]
jne 0x41e412
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41e412
mov eax, 0x2f
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov word [esp + 4], ax
lea eax, [ebp - 0xa0]
lea ecx, [ebp - 0x9c]
mov dword [esp], eax
call dword [0xe6bfec]
sub esp, 0x10
call fcn.0040dac0
mov dword [ebp - 0xc0], eax
mov dword [esp], 3
lea ecx, [ebp - 0x88]
mov edx, dword [ebp - 0xbc]
call edx
sub esp, 4
mov dword [esp + 4], 0xe
mov dword [esp], 0x454d8b
call ebx
lea edx, [ebp - 0x88]
mov ecx, dword [ebp - 0xc0]
mov dword [esp + 4], 0
mov dword [ebp - 0x98], eax
mov dword [esp + 8], edx
lea edx, [ebp - 0x98]
mov dword [esp], edx
call fcn.0040db30
mov eax, dword [ebp - 0x98]
sub esp, 0xc
mov edx, dword [eax]
test edx, edx
je 0x41f82f
cmp edx, 0xffffffff
je 0x41f3fa
lock sub dword [eax], 1
mov eax, dword [ebp - 0x98]
je 0x41f82f
call fcn.0040dac0
mov dword [ebp - 0xc0], eax
mov dword [esp], 0xc
lea ecx, [ebp - 0x88]
mov eax, dword [ebp - 0xbc]
call eax
mov eax, dword [ebp - 0x9c]
sub esp, 4
mov edx, dword [eax]
cmp edx, 1
jbe 0x41f43e
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x9c]
mov dword [esp], eax
call fcn.004451f0
sub esp, 4
mov eax, dword [ebp - 0x9c]
lea ecx, [ebp - 0x88]
mov dword [esp + 4], 1
mov dword [esp + 8], ecx
mov ecx, dword [ebp - 0xc0]
mov edx, dword [eax + 8]
lea eax, [eax + edx*4 + 0x10]
mov dword [esp], eax
call fcn.0040db30
sub esp, 0xc
call fcn.0040dac0
mov dword [ebp - 0xc0], eax
mov dword [esp], 3
lea ecx, [ebp - 0x88]
mov edx, dword [ebp - 0xbc]
call edx
sub esp, 4
mov dword [esp + 4], 0xe
mov dword [esp], 0x454d9a
call ebx
lea edx, [ebp - 0x88]
mov ecx, dword [ebp - 0xc0]
mov dword [esp + 4], 0
mov dword [ebp - 0x98], eax
mov dword [esp + 8], edx
lea edx, [ebp - 0x98]
mov dword [esp], edx
call fcn.0040db30
mov eax, dword [ebp - 0x98]
sub esp, 0xc
mov edx, dword [eax]
test edx, edx
je 0x41f7f3
cmp edx, 0xffffffff
je 0x41f4f6
lock sub dword [eax], 1
mov eax, dword [ebp - 0x98]
je 0x41f7f3
call fcn.0040dac0
mov dword [ebp - 0xc0], eax
mov dword [esp], 0xc
lea ecx, [ebp - 0x88]
mov eax, dword [ebp - 0xbc]
call eax
mov eax, dword [ebp - 0x9c]
sub esp, 4
mov edx, dword [eax]
cmp edx, 1
jbe 0x41f53a
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x9c]
mov dword [esp], eax
call fcn.004451f0
sub esp, 4
mov eax, dword [ebp - 0x9c]
lea ecx, [ebp - 0x88]
mov dword [esp + 4], 1
mov dword [esp + 8], ecx
mov ecx, dword [ebp - 0xc0]
mov edx, dword [eax + 8]
lea eax, [eax + edx*4 + 0x18]
mov dword [esp], eax
call fcn.0040db30
sub esp, 0xc
call fcn.0040dac0
mov dword [ebp - 0xc0], eax
mov dword [esp], 3
lea ecx, [ebp - 0x88]
mov edx, dword [ebp - 0xbc]
call edx
sub esp, 4
mov dword [esp + 4], 0xe
mov dword [esp], 0x454da9
call ebx
lea edx, [ebp - 0x88]
mov ecx, dword [ebp - 0xc0]
mov dword [esp + 4], 0
mov dword [ebp - 0x98], eax
mov dword [esp + 8], edx
lea edx, [ebp - 0x98]
mov dword [esp], edx
call fcn.0040db30
mov eax, dword [ebp - 0x98]
sub esp, 0xc
mov edx, dword [eax]
test edx, edx
je 0x41f7d5
cmp edx, 0xffffffff
je 0x41f5f2
lock sub dword [eax], 1
mov eax, dword [ebp - 0x98]
je 0x41f7d5
call fcn.0040dac0
mov dword [ebp - 0xc0], eax
mov dword [esp], 0xc
lea ecx, [ebp - 0x88]
mov eax, dword [ebp - 0xbc]
call eax
mov eax, dword [ebp - 0x9c]
sub esp, 4
mov edx, dword [eax]
cmp edx, 1
jbe 0x41f636
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x9c]
mov dword [esp], eax
call fcn.004451f0
sub esp, 4
mov eax, dword [ebp - 0x9c]
lea ecx, [ebp - 0x88]
mov dword [esp + 4], 1
mov dword [esp + 8], ecx
mov ecx, dword [ebp - 0xc0]
mov edx, dword [eax + 8]
lea eax, [eax + edx*4 + 0x1c]
mov dword [esp], eax
call fcn.0040db30
sub esp, 0xc
call fcn.0040dac0
mov dword [ebp - 0xc0], eax
mov dword [esp], 3
lea ecx, [ebp - 0x88]
mov edx, dword [ebp - 0xbc]
call edx
sub esp, 4
mov dword [esp + 4], 0xf
mov dword [esp], 0x454db8
call ebx
lea edx, [ebp - 0x88]
mov ecx, dword [ebp - 0xc0]
mov dword [esp + 4], 0
mov dword [ebp - 0x98], eax
mov dword [esp + 8], edx
lea edx, [ebp - 0x98]
mov dword [esp], edx
call fcn.0040db30
mov eax, dword [ebp - 0x98]
sub esp, 0xc
mov edx, dword [eax]
test edx, edx
je 0x41f811
cmp edx, 0xffffffff
je 0x41f6ee
lock sub dword [eax], 1
mov eax, dword [ebp - 0x98]
je 0x41f811
call fcn.0040dac0
mov dword [ebp - 0xc0], eax
mov dword [esp], 0xc
lea ecx, [ebp - 0x88]
mov eax, dword [ebp - 0xbc]
call eax
mov eax, dword [ebp - 0x9c]
sub esp, 4
mov edx, dword [eax]
cmp edx, 1
jbe 0x41f732
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x9c]
mov dword [esp], eax
call fcn.004451f0
sub esp, 4
mov eax, dword [ebp - 0x9c]
lea ecx, [ebp - 0x88]
mov dword [esp + 4], 1
mov dword [esp + 8], ecx
mov ecx, dword [ebp - 0xc0]
mov edx, dword [eax + 8]
lea eax, [eax + edx*4 + 0x14]
mov dword [esp], eax
call fcn.0040db30
mov eax, dword [ebp - 0x9c]
sub esp, 0xc
mov edx, dword [eax]
cmp edx, 1
jbe 0x41f783
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x9c]
mov dword [esp], eax
call fcn.004451f0
sub esp, 4
mov eax, dword [ebp - 0x9c]
lea ecx, [ebp - 0xb0]
mov edx, dword [eax + 8]
lea eax, [eax + edx*4 + 0x10]
mov dword [esp], eax
call dword [0xe6be60]
lea ecx, [ebp - 0x9c]
sub esp, 4
call fcn.00445480
mov eax, dword [ebp - 0xa0]
jmp 0x41e650
lea eax, [ebp - 0xa0]
lea ecx, [ebp - 0xb8]
mov dword [esp], eax
call dword [0xe6be60]
sub esp, 4
jmp 0x41e516
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41f5f2
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41f4f6
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41f6ee
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0xe6bbd8]
jmp 0x41f3fa
lea eax, [ebp - 0xa0]
lea ecx, [ebp - 0xb4]
mov dword [esp], eax
call dword [0xe6be60]
sub esp, 4
jmp 0x41e516
lea ecx, [ebp - 0x98]
mov ebx, eax
mov edi, edx
call fcn.004457f0
lea ecx, [ebp - 0x9c]
call fcn.00445480
lea ecx, [ebp - 0xa0]
call fcn.004457f0
lea ecx, [ebp - 0xa8]
call fcn.004457f0
lea ecx, [ebp - 0xac]
call fcn.004457f0
mov dword [ebp - 0xbc], ebx
mov ebx, edi
lea ecx, [ebp - 0x94]
call dword [0xe6c178]
lea ecx, [ebp - 0xb0]
lea edi, [ebp - 0x18]
call fcn.004457f0
lea ecx, [ebp - 0xb4]
call fcn.004457f0
lea ecx, [ebp - 0xb8]
call fcn.004457f0
sub edi, 4
mov ecx, edi
call fcn.004457f0
cmp edi, esi
jne 0x41f8dd
mov eax, dword [ebp - 0xbc]
cmp ebx, 1
je 0x41f93b
cmp ebx, 2
jne 0x41f92e
mov dword [esp], eax
call fcn.0043b948
call fcn.0043b910
jmp 0x41f86a
mov ebx, eax
call fcn.0043b940
mov dword [esp], ebx
call fcn.0043ba08
mov dword [esp], eax
call fcn.0043b948
call fcn.0043b910
mov dword [esp], eax
call fcn.0043b948
call fcn.0043b910
mov ebx, eax
call fcn.0043b940
mov dword [esp], ebx
call fcn.0043ba08
jmp 0x41f91f
lea ecx, [ebp - 0xa4]
call fcn.004457f0
jmp 0x41f88f
mov dword [esp], 8
call fcn.0043b950
mov dword [esp], 0x454b95
mov ecx, eax
mov edi, eax
call fcn.0043b9c0
push ecx
mov dword [esp + 8], fcn.0043b9b0
mov dword [esp + 4], 0xe5f950
mov dword [esp], edi
call fcn.0043b908
mov ebx, eax
mov edi, edx
lea ecx, [ebp - 0x88]
call fcn.004457f0
lea ecx, [ebp - 0xa0]
call fcn.004457f0
jmp 0x41f9c0