Function at 0x43ed10
Capabilities:
Delete file
Get geographical location

Disassembly:
push 0xffffffffffffffff
push 0x4464ee
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x29c
push ebx
push ebp
mov ebp, dword [esp + 0x2b4]
push esi
xor esi, esi
push edi
cmp ebp, esi
mov dword [esp + 0x34], ecx
je 0x43f181
push ecx
mov dword [esp + 0x18], esp
mov edi, esp
push 0xc
call fcn.0041b540
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, esi
mov dword [esp + 0x2b8], esi
je 0x43ed72
push 0x466048
mov ecx, eax
call fcn.0041b4b0
jmp 0x43ed74
xor eax, eax
cmp eax, esi
mov dword [esp + 0x2b8], 0xffffffff
mov dword [edi], eax
jne 0x43ed8f
push 0x8007000e
call fcn.0044292e
lea eax, [esp + 0x14]
mov ecx, ebp
push eax
call fcn.0041af80
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x2b4], 1
cmp ecx, esi
je 0x43f178
lea edx, [esp + 0x18]
push edx
call fcn.0041acf0
mov bl, 2
push esi
lea ecx, [esp + 0x14]
mov byte [esp + 0x2b8], bl
call fcn.0041b300
push ecx
mov dword [esp + 0x18], esp
mov edi, esp
push 0xc
call fcn.0041b540
add esp, 4
mov dword [esp + 0x34], eax
cmp eax, esi
mov byte [esp + 0x2b8], 3
je 0x43edfe
push str.city_code
mov ecx, eax
call fcn.0041b4b0
jmp 0x43ee00
xor eax, eax
cmp eax, esi
mov byte [esp + 0x2b8], bl
mov dword [edi], eax
jne 0x43ee17
push 0x8007000e
call fcn.0044292e
lea eax, [esp + 0x18]
mov ecx, ebp
push eax
call fcn.0041af80
mov ecx, dword [eax]
push ecx
lea ecx, [esp + 0x14]
call fcn.0041b300
lea ecx, [esp + 0x14]
call fcn.0041b1f0
mov dword [esp + 0x1c], esi
mov ecx, dword [esp + 0x10]
mov bl, 4
cmp ecx, esi
mov byte [esp + 0x2b4], bl
je 0x43eec4
lea edx, [esp + 0x14]
push edx
call fcn.0041acf0
mov edi, eax
mov ecx, edi
call fcn.0043f860
lea ecx, [esp + 0x1c]
call fcn.0041b460
mov eax, dword [edi]
lea ecx, [esp + 0x14]
mov dword [esp + 0x1c], eax
call fcn.0041b460
mov eax, dword [esp + 0x1c]
cmp eax, esi
je 0x43eeba
mov eax, dword [eax]
cmp eax, esi
je 0x43eeba
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
cmp eax, 1
jbe 0x43eeba
mov ecx, dword [esp + 0x1c]
cmp ecx, esi
je 0x43eea1
call fcn.0041b4f0
jmp 0x43eea3
xor eax, eax
mov ecx, dword [esp + 0x34]
add ecx, 0x24
push ecx
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrIA]
test eax, eax
je 0x43f407
push esi
lea ecx, [esp + 0x14]
call fcn.0041b300
push ecx
mov dword [esp + 0x18], esp
mov edi, esp
push 0xc
call fcn.0041b540
add esp, 4
mov dword [esp + 0x34], eax
cmp eax, esi
mov byte [esp + 0x2b8], 5
je 0x43eef3
push 0x466044
mov ecx, eax
call fcn.0041b4b0
jmp 0x43eef5
xor eax, eax
cmp eax, esi
mov byte [esp + 0x2b8], bl
mov dword [edi], eax
jne 0x43ef0c
push 0x8007000e
call fcn.0044292e
lea edx, [esp + 0x18]
mov ecx, ebp
push edx
call fcn.0041af80
mov eax, dword [eax]
lea ecx, [esp + 0x10]
push eax
call fcn.0041b300
lea ecx, [esp + 0x14]
call fcn.0041b1f0
mov ecx, dword [esp + 0x10]
cmp ecx, esi
je 0x43f166
lea edx, [esp + 0x2c]
push edx
call fcn.0041acf0
mov bl, 6
push esi
lea ecx, [esp + 0x14]
mov byte [esp + 0x2b8], bl
call fcn.0041b300
push ecx
mov dword [esp + 0x18], esp
mov edi, esp
push 0xc
call fcn.0041b540
add esp, 4
mov dword [esp + 0x34], eax
cmp eax, esi
mov byte [esp + 0x2b8], 7
je 0x43ef85
push str.PlaceName
mov ecx, eax
call fcn.0041b4b0
jmp 0x43ef87
xor eax, eax
cmp eax, esi
mov byte [esp + 0x2b8], bl
mov dword [edi], eax
jne 0x43ef9e
push 0x8007000e
call fcn.0044292e
lea eax, [esp + 0x18]
mov ecx, ebp
push eax
call fcn.0041af80
mov ecx, dword [eax]
push ecx
lea ecx, [esp + 0x14]
call fcn.0041b300
lea ecx, [esp + 0x14]
call fcn.0041b1f0
mov ecx, dword [esp + 0x10]
cmp ecx, esi
je 0x43f15d
lea edx, [esp + 0x20]
push edx
call fcn.0041acf0
mov bl, 8
push esi
lea ecx, [esp + 0x14]
mov byte [esp + 0x2b8], bl
call fcn.0041b300
push 0xc
call fcn.0041b540
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, esi
mov byte [esp + 0x2b4], 9
je 0x43f010
push 0x46641c
mov ecx, eax
call fcn.0041b4b0
jmp 0x43f012
xor eax, eax
cmp eax, esi
mov byte [esp + 0x2b4], bl
mov dword [esp + 0x24], eax
jne 0x43f02b
push 0x8007000e
call fcn.0044292e
push ecx
mov bl, 0xa
mov dword [esp + 0x18], esp
mov edi, esp
push 0xc
mov byte [esp + 0x2bc], bl
call fcn.0041b540
add esp, 4
mov dword [esp + 0x34], eax
cmp eax, esi
mov byte [esp + 0x2b8], 0xb
je 0x43f063
push str.ExpireDate
mov ecx, eax
call fcn.0041b4b0
jmp 0x43f065
xor eax, eax
cmp eax, esi
mov byte [esp + 0x2b8], bl
mov dword [edi], eax
jne 0x43f07c
push 0x8007000e
call fcn.0044292e
lea eax, [esp + 0x18]
mov ecx, ebp
push eax
call fcn.0041af80
mov ecx, dword [eax]
push ecx
lea ecx, [esp + 0x14]
call fcn.0041b300
lea ecx, [esp + 0x14]
call fcn.0041b1f0
mov ecx, dword [esp + 0x10]
cmp ecx, esi
je 0x43f0d0
lea edx, [esp + 0x14]
push edx
call fcn.0041acf0
mov edi, eax
mov ecx, edi
call fcn.0043f860
lea ecx, [esp + 0x24]
call fcn.0041b460
mov eax, dword [edi]
lea ecx, [esp + 0x14]
mov dword [esp + 0x24], eax
call fcn.0041b460
push esi
lea ecx, [esp + 0x14]
call fcn.0041b300
push ecx
mov dword [esp + 0x18], esp
mov edi, esp
push 0xc
call fcn.0041b540
add esp, 4
mov dword [esp + 0x34], eax
cmp eax, esi
mov byte [esp + 0x2b8], 0xc
je 0x43f109
push 0x465534
mov ecx, eax
call fcn.0041b4b0
jmp 0x43f10b
xor eax, eax
cmp eax, esi
mov byte [esp + 0x2b8], bl
mov dword [edi], eax
jne 0x43f122
push 0x8007000e
call fcn.0044292e
lea ecx, [esp + 0x18]
push ecx
mov ecx, ebp
call fcn.0041af80
mov edx, dword [eax]
lea ecx, [esp + 0x10]
push edx
call fcn.0041b300
lea ecx, [esp + 0x14]
call fcn.0041b1f0
mov ecx, dword [esp + 0x10]
cmp ecx, esi
jne 0x43f18b
lea ecx, [esp + 0x24]
call fcn.0041b460
lea ecx, [esp + 0x20]
call fcn.0041b460
lea ecx, [esp + 0x2c]
call fcn.0041b460
lea ecx, [esp + 0x1c]
call fcn.0041b460
lea ecx, [esp + 0x18]
call fcn.0041b460
lea ecx, [esp + 0x10]
call fcn.0041b1f0
mov eax, 1
jmp 0x43f83e
lea eax, [esp + 0x28]
push eax
call fcn.0041acf0
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x2b4], 0xd
cmp ecx, esi
je 0x43f1ac
call fcn.0041b4f0
jmp 0x43f1ae
xor eax, eax
push eax
call fcn.00430340
mov edi, dword [sym.imp.MSVCRT.dll__snprintf]
push eax
push 0x453924
lea ecx, [esp + 0xb0]
push 0x104
push ecx
call edi
add esp, 0x14
lea edx, [esp + 0xa4]
push esi
push edx
call fcn.00427670
test eax, eax
je 0x43f2e0
mov ecx, dword [esp + 0x2c]
cmp ecx, esi
je 0x43f1f7
call fcn.0041b4f0
jmp 0x43f1f9
xor eax, eax
push eax
push esi
lea eax, [esp + 0xac]
push esi
push eax
call fcn.004286a0
test eax, eax
je 0x43f2d2
mov ecx, dword [esp + 0x28]
cmp ecx, esi
je 0x43f222
call fcn.0041b4f0
mov ebx, eax
jmp 0x43f224
xor ebx, ebx
mov ecx, dword [esp + 0x20]
cmp ecx, esi
je 0x43f235
call fcn.0041b4f0
mov edi, eax
jmp 0x43f237
xor edi, edi
mov ecx, dword [esp + 0x24]
cmp ecx, esi
je 0x43f246
call fcn.0041b4f0
jmp 0x43f248
xor eax, eax
push ebx
push edi
lea ecx, [esp + 0xac]
push eax
push ecx
call fcn.00430790
mov ecx, dword [esp + 0x30]
add esp, 0x10
cmp ecx, esi
je 0x43f26c
call fcn.0041b4f0
mov edi, eax
jmp 0x43f26e
xor edi, edi
mov ecx, dword [esp + 0x18]
cmp ecx, esi
je 0x43f27d
call fcn.0041b4f0
jmp 0x43f27f
xor eax, eax
mov edx, dword [esp + 0x34]
push edi
push eax
mov ecx, dword [edx + 0x1c]
push ecx
mov edx, dword [ecx]
call dword [edx + 4]
lea ecx, [esp + 0x28]
call fcn.0041b460
lea ecx, [esp + 0x24]
call fcn.0041b460
lea ecx, [esp + 0x20]
call fcn.0041b460
lea ecx, [esp + 0x2c]
call fcn.0041b460
lea ecx, [esp + 0x1c]
call fcn.0041b460
lea ecx, [esp + 0x18]
call fcn.0041b460
lea ecx, [esp + 0x10]
call fcn.0041b1f0
jmp 0x43f83c
lea eax, [esp + 0xa4]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, dword [esp + 0x18]
cmp ecx, esi
je 0x43f2ef
call fcn.0041b4f0
jmp 0x43f2f1
xor eax, eax
push eax
call fcn.004303a0
push eax
push 0x453924
lea ecx, [esp + 0x1b4]
push 0x104
push ecx
call edi
add esp, 0x14
lea edx, [esp + 0x1a8]
push esi
push edx
call fcn.00427670
test eax, eax
je 0x43f427
mov ecx, dword [esp + 0x2c]
cmp ecx, esi
je 0x43f334
call fcn.0041b4f0
jmp 0x43f336
xor eax, eax
push eax
push esi
lea eax, [esp + 0x1b0]
push esi
push eax
call fcn.004286a0
test eax, eax
je 0x43f427
lea ecx, [esp + 0xa4]
lea edx, [esp + 0x1a8]
push ecx
push edx
call fcn.004283f0
mov ecx, dword [esp + 0x30]
add esp, 8
cmp ecx, esi
je 0x43f377
call fcn.0041b4f0
mov ebx, eax
jmp 0x43f379
xor ebx, ebx
mov ecx, dword [esp + 0x20]
cmp ecx, esi
je 0x43f38a
call fcn.0041b4f0
mov edi, eax
jmp 0x43f38c
xor edi, edi
mov ecx, dword [esp + 0x24]
cmp ecx, esi
je 0x43f39b
call fcn.0041b4f0
jmp 0x43f39d
xor eax, eax
push ebx
push edi
push eax
lea eax, [esp + 0xb0]
push eax
call fcn.00430790
mov ecx, dword [esp + 0x30]
add esp, 0x10
cmp ecx, esi
je 0x43f3c1
call fcn.0041b4f0
mov edi, eax
jmp 0x43f3c3
xor edi, edi
mov ecx, dword [esp + 0x18]
cmp ecx, esi
je 0x43f3d2
call fcn.0041b4f0
jmp 0x43f3d4
xor eax, eax
mov ecx, dword [esp + 0x34]
push edi
push eax
mov ecx, dword [ecx + 0x1c]
push ecx
mov edx, dword [ecx]
call dword [edx + 4]
lea ecx, [esp + 0x28]
call fcn.0041b460
lea ecx, [esp + 0x24]
call fcn.0041b460
lea ecx, [esp + 0x20]
call fcn.0041b460
lea ecx, [esp + 0x2c]
call fcn.0041b460
lea ecx, [esp + 0x1c]
call fcn.0041b460
lea ecx, [esp + 0x18]
call fcn.0041b460
lea ecx, [esp + 0x10]
call fcn.0041b1f0
jmp 0x43f83c
mov ecx, dword [esp + 0x20]
cmp ecx, esi
je 0x43f43a
call fcn.0041b4f0
mov dword [esp + 0x14], eax
jmp 0x43f43e
mov dword [esp + 0x14], esi
mov ecx, dword [esp + 0x24]
cmp ecx, esi
je 0x43f451
call fcn.0041b4f0
mov dword [esp + 0x30], eax
jmp 0x43f455
mov dword [esp + 0x30], esi
mov ecx, dword [esp + 0x2c]
cmp ecx, esi
je 0x43f466
call fcn.0041b4f0
mov ebx, eax
jmp 0x43f468
xor ebx, ebx
mov ecx, dword [esp + 0x18]
cmp ecx, esi
je 0x43f479
call fcn.0041b4f0
mov ebp, eax
jmp 0x43f47b
xor ebp, ebp
mov ecx, dword [esp + 0x28]
cmp ecx, esi
je 0x43f48a
call fcn.0041b4f0
mov esi, eax
lea eax, [esp + 0x3a]
lea ecx, [esp + 0x40]
push eax
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
lea ecx, [esp + 0x3b]
mov byte [esp + 0x2b4], 0xe
push ecx
lea ecx, [esp + 0x54]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
lea edx, [esp + 0x3d]
lea ecx, [esp + 0x60]
push edx
mov byte [esp + 0x2b8], 0xf
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x70]
push eax
mov byte [esp + 0x2b8], 0x10
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
lea ecx, [esp + 0x3e]
mov byte [esp + 0x2b4], 0x11
push ecx
lea ecx, [esp + 0x84]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
lea edx, [esp + 0x3f]
lea ecx, [esp + 0x90]
push edx
mov byte [esp + 0x2b8], 0x12
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x2b4], 0x13
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
lea ecx, [esp + 0x48]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push ebp
lea ecx, [esp + 0x58]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push ebx
lea ecx, [esp + 0x68]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
mov edx, dword [esp + 0x30]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [esp + 0x78]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
mov edx, dword [esp + 0x14]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [esp + 0x88]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
mov dword [esp + 0xa0], 0
mov esi, dword [esp + 0x34]
lea edx, [esp + 0x40]
push edx
mov byte [esp + 0x2b8], 0x14
mov eax, dword [esi + 0x5c]
lea ecx, [esi + 0x54]
push eax
call fcn.004407a0
push 1
lea ecx, [esp + 0x94]
mov byte [esp + 0x2b8], 0x19
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
lea ecx, [esp + 0x84]
mov byte [esp + 0x2b8], 0x18
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
lea ecx, [esp + 0x74]
mov byte [esp + 0x2b8], 0x17
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
lea ecx, [esp + 0x64]
mov byte [esp + 0x2b8], 0x16
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
lea ecx, [esp + 0x54]
mov byte [esp + 0x2b8], 0x15
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
lea ecx, [esp + 0x44]
mov byte [esp + 0x2b8], 0xd
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov eax, dword [esi + 0x18]
test eax, eax
je 0x43f696
mov ecx, dword [esp + 0x2c]
xor edi, edi
cmp ecx, edi
je 0x43f65d
call fcn.0041b4f0
mov esi, eax
jmp 0x43f65f
xor esi, esi
mov ecx, dword [esp + 0x28]
cmp ecx, edi
je 0x43f680
call fcn.0041b4f0
mov ecx, dword [esp + 0x34]
push esi
push eax
mov ecx, dword [ecx + 0x18]
push ecx
mov edx, dword [ecx]
call dword [edx + 0x20]
jmp 0x43f79d
mov ecx, dword [esp + 0x34]
xor eax, eax
push esi
push eax
mov ecx, dword [ecx + 0x18]
push ecx
mov edx, dword [ecx]
call dword [edx + 0x20]
jmp 0x43f79d
mov ebx, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
test ecx, ecx
mov esi, dword [ebx + 0x10]
je 0x43f6ac
call fcn.0041b4f0
jmp 0x43f6ae
xor eax, eax
lea ecx, [esp + 0x1a8]
push ecx
push eax
mov ecx, esi
call fcn.0042e970
mov esi, eax
test esi, esi
jge 0x43f70a
lea ecx, [esp + 0x28]
call fcn.0041b460
lea ecx, [esp + 0x24]
call fcn.0041b460
lea ecx, [esp + 0x20]
call fcn.0041b460
lea ecx, [esp + 0x2c]
call fcn.0041b460
lea ecx, [esp + 0x1c]
call fcn.0041b460
lea ecx, [esp + 0x18]
call fcn.0041b460
lea ecx, [esp + 0x10]
call fcn.0041b1f0
mov eax, esi
jmp 0x43f83e
lea edx, [esp + 0xa4]
lea eax, [esp + 0x1a8]
push edx
push eax
call fcn.004283f0
mov ecx, dword [esp + 0x30]
add esp, 8
test ecx, ecx
je 0x43f733
call fcn.0041b4f0
mov edi, eax
jmp 0x43f735
xor edi, edi
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x43f746
call fcn.0041b4f0
mov esi, eax
jmp 0x43f748
xor esi, esi
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x43f757
call fcn.0041b4f0
jmp 0x43f759
xor eax, eax
push edi
push esi
lea ecx, [esp + 0xac]
push eax
push ecx
call fcn.00430790
mov ecx, dword [esp + 0x30]
add esp, 0x10
test ecx, ecx
je 0x43f77d
call fcn.0041b4f0
mov esi, eax
jmp 0x43f77f
xor esi, esi
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x43f78e
call fcn.0041b4f0
jmp 0x43f790
xor eax, eax
mov ecx, dword [ebx + 0x1c]
push esi
push eax
push ecx
mov edx, dword [ecx]
call dword [edx + 4]
xor edi, edi
mov ecx, dword [esp + 0x28]
cmp ecx, edi
je 0x43f7ae
call fcn.00413ac0
mov dword [esp + 0x28], edi
mov ecx, dword [esp + 0x24]
cmp ecx, edi
je 0x43f7bf
call fcn.00413ac0
mov dword [esp + 0x24], edi
mov ecx, dword [esp + 0x20]
cmp ecx, edi
je 0x43f7d0
call fcn.00413ac0
mov dword [esp + 0x20], edi
mov ecx, dword [esp + 0x2c]
cmp ecx, edi
je 0x43f7e1
call fcn.00413ac0
mov dword [esp + 0x2c], edi
mov ecx, dword [esp + 0x1c]
cmp ecx, edi
je 0x43f7f2
call fcn.00413ac0
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x18]
mov byte [esp + 0x2b4], 1
cmp eax, edi
je 0x43f823
mov esi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x43f81f
cmp esi, edi
je 0x43f81f
push 1
mov ecx, esi
call fcn.00413b10
mov dword [esp + 0x18], edi
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2b4], 0xffffffff
cmp eax, edi
je 0x43f83c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor eax, eax
mov ecx, dword [esp + 0x2ac]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x2a8
ret 4