Function at 0x418370
Capabilities:
Get geographical location
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xc0
mov dword [esp + 4], ecx
mov eax, dword [0x547008]
xor eax, ebp
mov dword [esp + 0xb8], eax
xor eax, eax
dec eax
lea edi, [esp + 0x30]
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], eax
push 0x140
push edi
call fcn.0043a3b0
add esp, 8
movzx eax, byte [edi + 0xb]
test al, al
js 0x4183bb
and eax, 0x7f
jmp 0x4183bf
mov eax, dword [esp + 0x34]
test eax, eax
je 0x41857c
lea ecx, [esp + 0x70]
push 0x174
push str.GetInfoFromResources
push 0
call fcn.0045baa0
lea esi, [esp + 0x78]
lea ecx, [esp + 0xac]
push 0x529d34
push str.Extract_Partner_package:
call fcn.004148f0
mov eax, dword [esp + 4]
add eax, 0x98
mov ecx, esi
mov dword [esp + 8], eax
push eax
call fcn.00414720
mov esi, eax
add esi, 0x34
lea ebx, [esp + 0x60]
push 2
push 0x529d36
push ebx
call fcn.004e3de0
add esp, 0xc
movzx eax, byte [ebx + 0xb]
test al, al
js 0x418431
and eax, 0x7f
jmp 0x418439
mov eax, dword [esp + 0x64]
mov ebx, dword [esp + 0x60]
mov ecx, esi
push eax
push ebx
call fcn.0047cfe0
cmp byte [esp + 0x6b], 0
jns 0x418455
push dword [esp + 0x60]
call fcn.004e82d5
add esp, 4
movzx eax, byte [esp + 0x3b]
test al, al
js 0x418463
and eax, 0x7f
jmp 0x418467
mov eax, dword [esp + 0x34]
lea ebx, [esp + 0x60]
push eax
push ebx
call fcn.004e5490
add esp, 8
movzx eax, byte [ebx + 0xb]
test al, al
js 0x418482
and eax, 0x7f
jmp 0x41848a
mov eax, dword [esp + 0x64]
mov ebx, dword [esp + 0x60]
mov ecx, esi
push eax
push ebx
call fcn.0047cfe0
cmp byte [esp + 0x6b], 0
jns 0x4184a6
push dword [esp + 0x60]
call fcn.004e82d5
add esp, 4
lea ebx, [esp + 0x60]
push 2
push 0x529d3c
push ebx
call fcn.004e3de0
add esp, 0xc
movzx eax, byte [ebx + 0xb]
test al, al
js 0x4184c7
and eax, 0x7f
jmp 0x4184cf
mov eax, dword [esp + 0x64]
mov ebx, dword [esp + 0x60]
mov ecx, esi
push eax
push ebx
call fcn.0047cfe0
cmp byte [esp + 0x6b], 0
jns 0x4184eb
push dword [esp + 0x60]
call fcn.004e82d5
add esp, 4
lea esi, [esp + 0x70]
mov ecx, esi
call fcn.0045bd40
push edi
push dword [esp + 0xc]
call fcn.0043af40
add esp, 8
mov eax, dword [esp + 4]
mov byte [eax + 0x129], 1
push 0x10
call fcn.004e82a5
add esp, 4
mov dword [esi], eax
mov dword [esi + 8], 0x80000010
mov dword [esi + 4], 0xe
cmp eax, 0x529d42
ja 0x41853e
lea ecx, [eax + 0xe]
cmp ecx, 0x529d42
ja 0x418b04
mov word [eax + 0xc], 0x6769
mov dword [eax + 8], 0x666e6f63
mov dword [eax + 4], 0x5f72656e
mov dword [eax], 0x74726170
mov byte [eax + 0xe], 0
mov ecx, dword [esp + 4]
push esi
push edi
call fcn.00419290
cmp byte [esp + 0x7b], 0
jns 0x4185b0
push dword [esp + 0x70]
call fcn.004e82d5
add esp, 4
jmp 0x4185b0
lea esi, [esp + 0x70]
mov ecx, esi
push 0x179
push str.GetInfoFromResources
push 2
call fcn.0045baa0
lea ecx, [esp + 0xac]
push 0x529d6a
push str.Partner_package_is_empty.
call fcn.004148f0
mov ecx, esi
call fcn.0045bd40
mov esi, dword [ebp + 8]
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], eax
movzx eax, byte [esi + 0xb]
mov ecx, eax
and ecx, 0x7f
test al, al
mov edi, dword [esi]
mov ebx, dword [esi + 4]
cmovs ecx, ebx
mov edx, esi
cmovs edx, edi
test ecx, ecx
js 0x418aee
test edx, edx
jne 0x4185ed
test ecx, ecx
jne 0x418add
cmp ecx, 4
jne 0x41865a
cmp dword [edx], 0x6f747561
jne 0x418662
xor esi, esi
dec esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], esi
push 0x10
call dword [sym.imp.KERNEL32.dll_GetUserGeoID]
cmp eax, esi
je 0x418b3e
xor esi, esi
lea ecx, [esp + 0x70]
mov dword [ecx], esi
mov word [ecx + 4], 0
push esi
push 3
push ecx
push 4
push eax
call dword [sym.imp.KERNEL32.dll_GetGeoInfoW]
cmp eax, 3
je 0x418b22
mov dword [esp + 0x64], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x68], esi
jmp 0x418b4c
test ecx, ecx
je 0x41882a
xor ecx, ecx
dec ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], ecx
test al, al
js 0x418699
mov eax, dword [esi + 8]
mov dword [esp + 0x68], eax
movsd xmm0, qword [esi]
movsd qword [esp + 0x60], xmm0
movzx ebx, byte [esp + 0x6b]
test bl, bl
jns 0x4186f2
mov edi, dword [esp + 0x60]
mov ebx, dword [esp + 0x64]
jmp 0x4186f9
cmp ebx, 0xa
ja 0x4186c3
lea eax, [esp + 0x60]
mov byte [eax + 0xb], bl
cmp eax, edi
ja 0x4186b5
lea ecx, [eax + ebx]
inc ecx
cmp ecx, edi
ja 0x418b04
inc ebx
push ebx
push edi
push eax
call fcn.004ebca0
add esp, 0xc
jmp 0x418686
cmp ebx, 0x7ffffff8
jae 0x41906d
mov esi, ebx
or esi, 7
inc esi
push esi
call fcn.004e82a5
add esp, 4
mov dword [esp + 0x60], eax
or esi, 0x80000000
mov dword [esp + 0x68], esi
mov dword [esp + 0x64], ebx
jmp 0x4186a5
and ebx, 0x7f
lea edi, [esp + 0x60]
test ebx, ebx
je 0x418714
xor esi, esi
movsx eax, byte [edi + esi]
push eax
call fcn.004fec19
add esp, 4
mov byte [edi + esi], al
inc esi
cmp ebx, esi
jne 0x4186ff
lea ebx, [esp + 0x70]
mov ecx, ebx
push 0x18c
push str.GetInfoFromResources
push 0
call fcn.0045baa0
lea edi, [esp + 0xac]
mov ecx, edi
push 0x529da2
push str.Fetching_defined
call fcn.004148f0
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xb]
test al, al
jns 0x418755
mov eax, dword [edx + 4]
mov edx, dword [edx]
jmp 0x418758
and eax, 0x7f
add eax, edx
mov ecx, edi
push eax
push edx
call fcn.004148f0
mov ecx, edi
push 0x529d8a
push str._package
call fcn.004148f0
mov ecx, ebx
call fcn.0045bd40
lea eax, [esp + 0x54]
mov byte [eax + 0xb], 6
cmp eax, str.BRAND_
ja 0x418799
lea eax, [esp + 0x5a]
cmp eax, str.BRAND_
ja 0x418b04
lea ecx, [esp + 0x54]
mov word [ecx + 4], 0x5f44
mov dword [ecx], 0x4e415242
lea eax, [esp + 0x60]
movzx edx, byte [eax + 0xb]
mov esi, edx
and esi, 0x7f
test dl, dl
cmovs esi, dword [eax + 4]
mov byte [ecx + 6], 0
cmovs eax, dword [eax]
push esi
push eax
call fcn.0047cfe0
push eax
push ebx
call fcn.0043a3d0
add esp, 8
cmp byte [esp + 0x2b], 0
jns 0x4187e7
push dword [esp + 0x20]
call fcn.004e82d5
add esp, 4
mov eax, dword [esp + 0x78]
mov dword [esp + 0x28], eax
movsd xmm0, qword [esp + 0x70]
movsd qword [esp + 0x20], xmm0
xor eax, eax
mov byte [esp + 0x7b], al
mov byte [esp + 0x70], al
cmp byte [esp + 0x5f], al
jns 0x418817
push dword [esp + 0x54]
call fcn.004e82d5
add esp, 4
cmp byte [esp + 0x6b], 0
jns 0x41882a
push dword [esp + 0x60]
call fcn.004e82d5
add esp, 4
movzx edx, byte [esp + 0x2b]
mov ebx, edx
and ebx, 0x7f
test dl, dl
mov eax, dword [esp + 0x24]
mov ecx, ebx
cmovs ecx, eax
test ecx, ecx
jne 0x4188b9
lea esi, [esp + 0x70]
mov ecx, esi
push 0x191
push str.GetInfoFromResources
push 0
mov ebx, edx
call fcn.0045baa0
lea ecx, [esp + 0xac]
push 0x529dbb
push str.Fetching_default_package
call fcn.004148f0
mov ecx, esi
call fcn.0045bd40
push 0x13f
push esi
call fcn.0043a3b0
add esp, 8
test bl, bl
jns 0x418897
push dword [esp + 0x20]
call fcn.004e82d5
add esp, 4
mov eax, dword [esp + 0x78]
mov dword [esp + 0x28], eax
movsd xmm0, qword [esp + 0x70]
movsd qword [esp + 0x20], xmm0
movzx edx, byte [esp + 0x2b]
mov eax, dword [esp + 0x24]
mov ebx, edx
and ebx, 0x7f
test dl, dl
cmovs ebx, eax
test ebx, ebx
je 0x41892c
lea ecx, [esp + 0x70]
push 0x197
push str.GetInfoFromResources
push 0
call fcn.0045baa0
lea esi, [esp + 0x78]
lea ecx, [esp + 0xac]
push 0x529dd3
push str.Extract_Brand_package:
call fcn.004148f0
mov eax, dword [esp + 4]
add eax, 0x8c
mov ecx, esi
mov dword [esp + 8], eax
push eax
call fcn.00414720
mov esi, eax
add esi, 0x34
lea edi, [esp + 0x60]
push 2
push 0x529d36
push edi
call fcn.004e3de0
add esp, 0xc
movzx eax, byte [edi + 0xb]
test al, al
js 0x418969
and eax, 0x7f
jmp 0x418971
lea esi, [esp + 0x70]
mov ecx, esi
push 0x19c
push str.GetInfoFromResources
push 2
mov edi, edx
call fcn.0045baa0
lea ecx, [esp + 0xac]
push 0x529df8
push str.Brand_package_is_empty.
call fcn.004148f0
mov ecx, esi
call fcn.0045bd40
mov eax, edi
jmp 0x418aa2
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 0x60]
mov ecx, esi
push eax
push edi
call fcn.0047cfe0
cmp byte [esp + 0x6b], 0
jns 0x41898d
push dword [esp + 0x60]
call fcn.004e82d5
add esp, 4
lea edi, [esp + 0x60]
push ebx
push edi
call fcn.004e5490
add esp, 8
movzx eax, byte [edi + 0xb]
test al, al
jns 0x4189ad
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 0x60]
jmp 0x4189b0
and eax, 0x7f
mov ecx, esi
push eax
push edi
call fcn.0047cfe0
cmp byte [esp + 0x6b], 0
jns 0x4189cc
push dword [esp + 0x60]
call fcn.004e82d5
add esp, 4
lea edi, [esp + 0x60]
push 2
push 0x529d3c
push edi
call fcn.004e3de0
add esp, 0xc
movzx eax, byte [edi + 0xb]
test al, al
js 0x4189ed
and eax, 0x7f
jmp 0x4189f5
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 0x60]
mov ecx, esi
push eax
push edi
call fcn.0047cfe0
cmp byte [esp + 0x6b], 0
jns 0x418a11
push dword [esp + 0x60]
call fcn.004e82d5
add esp, 4
lea esi, [esp + 0x70]
mov ecx, esi
call fcn.0045bd40
lea ebx, [esp + 0x20]
push ebx
push dword [esp + 0xc]
call fcn.0043af40
add esp, 8
mov eax, dword [esp + 4]
mov byte [eax + 0x128], 1
push 0x10
call fcn.004e82a5
add esp, 4
mov dword [esi], eax
mov dword [esi + 8], 0x80000010
mov dword [esi + 4], 0xc
cmp eax, 0x529dd4
ja 0x418a68
lea ecx, [eax + 0xc]
cmp ecx, 0x529dd4
ja 0x418b04
mov dword [eax + 8], 0x6769666e
mov dword [eax + 4], 0x6f635f64
mov dword [eax], 0x6e617262
mov byte [eax + 0xc], 0
mov ecx, dword [esp + 4]
push esi
push ebx
call fcn.00419290
cmp byte [esp + 0x7b], 0
jns 0x418a9e
push dword [esp + 0x70]
call fcn.004e82d5
add esp, 4
mov al, byte [esp + 0x2b]
test al, al
jns 0x418ab2
push dword [esp + 0x20]
call fcn.004e82d5
add esp, 4
cmp byte [esp + 0x3b], 0
jns 0x418ac5
push dword [esp + 0x30]
call fcn.004e82d5
add esp, 4
mov ecx, dword [esp + 0xb8]
xor ecx, ebp
call fcn.004e8be6
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
push str.string_view::string_view__CharT___size_t_:_received_nullptr
push str.__len__0____s___nullptr
push 0x13c
jmp 0x418afd
push str.string_view::string_view__CharT___size_t_:_length_does_not_fit_in_difference_type
push str.__len___static_cast_size_type__numeric_limits_difference_type_::max___
push 0x13a
push str....._third_partylibc_srcinclude_string_view
jmp 0x418b18
push str.char_traits::copy_overlapped_range
push str.__s2_____s1____s2_____s1____n
push 0xf3
push str....._third_partylibc_srcinclude__stringchar_traits.h
push str._s:_d:_assertion__s_failed:__s_n
call fcn.00457520
mov byte [esp + 0x6b], 2
mov al, byte [esp + 0x70]
mov cl, byte [esp + 0x72]
mov byte [esp + 0x60], al
mov byte [esp + 0x61], cl
mov byte [esp + 0x62], 0
jmp 0x418b4c
xor eax, eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x68], eax
mov eax, str.AutodetectBrandName
xor esi, esi
lea ecx, [esp + 0x70]
push 0x89
push eax
push esi
call fcn.0045baa0
lea ebx, [esp + 0xac]
mov ecx, ebx
push 0x52a398
push str.User_region:
call fcn.004148f0
movzx eax, byte [esp + 0x6b]
mov edi, str.AutodetectBrandName
test al, al
js 0x418b92
and eax, 0x7f
lea edx, [esp + 0x60]
jmp 0x418b9a
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
add eax, edx
mov ecx, ebx
push eax
push edx
call fcn.004148f0
lea ecx, [esp + 0x70]
call fcn.0045bd40
lea ebx, [esp + 0x54]
xor eax, eax
dec eax
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
push ebx
call fcn.0043a6a0
add esp, 4
lea ecx, [esp + 0x70]
push 0x8b
push edi
push esi
call fcn.0045baa0
lea edi, [esp + 0xac]
mov ecx, edi
push 0x52a3a6
push str.User_locale:
call fcn.004148f0
movzx eax, byte [ebx + 0xb]
test al, al
jns 0x418c00
mov ebx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
jmp 0x418c03
and eax, 0x7f
add eax, ebx
mov ecx, edi
push eax
push ebx
call fcn.004148f0
lea ecx, [esp + 0x70]
call fcn.0045bd40
jmp 0x418d06
push edi
push esi
push dword [esp + 0x44]
call fcn.004ea61d
add esp, 0xc
mov edi, 4
test eax, eax
jne 0x418ccf
jmp 0x418c65
lea esi, [esp + 0x54]
cmp byte [esp + 0xc], 0
jns 0x418c48
mov esi, dword [esp + 0x54]
test al, al
js 0x418c1c
test cl, cl
mov edi, 4
je 0x418c65
xor edx, edx
mov bl, byte [esp + edx + 0x3c]
cmp bl, byte [esi + edx]
jne 0x418ccb
inc edx
cmp ecx, edx
jne 0x418c57
lea ebx, [esp + 0x70]
mov ecx, ebx
push 0x99
push str.AutodetectBrandName
push 0
call fcn.0045baa0
lea esi, [esp + 0xac]
mov ecx, esi
push 0x52a41d
push str.Detected_brand_name:
call fcn.004148f0
mov eax, dword [esp + 0x10]
mov edi, dword [eax*4 + 0x52a3b0]
push edi
call fcn.00503950
add esp, 4
add eax, edi
mov ecx, esi
push eax
push edi
call fcn.004148f0
mov ecx, ebx
call fcn.0045bd40
lea ecx, [esp + 0x14]
push edi
call fcn.00414fc0
mov al, byte [esp + 0x47]
xor edi, edi
inc edi
test al, al
jns 0x418cdb
push dword [esp + 0x3c]
call fcn.004e82d5
add esp, 4
mov al, byte [esp + 0x53]
test al, al
jns 0x418cef
push dword [esp + 0x48]
call fcn.004e82d5
add esp, 4
cmp edi, 4
jne 0x418eed
mov esi, dword [esp + 8]
inc esi
cmp esi, 8
je 0x418e29
xor eax, eax
dec eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 8], esi
lea eax, [esi + esi*2]
lea ecx, [esp + 0x48]
mov dword [esp + 0x10], eax
push dword [eax*4 + 0x52a3a8]
call fcn.00414fc0
movzx eax, byte [esp + 0x53]
mov ecx, eax
and ecx, 0x7f
test al, al
mov edi, dword [esp + 0x4c]
mov ebx, ecx
cmovs ebx, edi
test ebx, ebx
je 0x418da1
movzx edx, byte [esp + 0x6b]
test dl, dl
mov dword [esp + 0xc], edx
js 0x418d5b
and edx, 0x7f
jmp 0x418d5f
mov edx, dword [esp + 0x64]
cmp ebx, edx
je 0x418d6d
mov edi, 4
jmp 0x418cdf
lea esi, [esp + 0x60]
cmp byte [esp + 0xc], 0
jns 0x418d7c
mov esi, dword [esp + 0x60]
test al, al
js 0x418e09
test cl, cl
mov edi, 4
je 0x418da1
xor edx, edx
mov bl, byte [esp + edx + 0x48]
cmp bl, byte [esi + edx]
jne 0x418cdf
inc edx
cmp ecx, edx
jne 0x418d8f
xor eax, eax
dec eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
lea ecx, [esp + 0x3c]
mov eax, dword [esp + 0x10]
push dword [eax*4 + 0x52a3ac]
call fcn.00414fc0
movzx eax, byte [esp + 0x47]
mov ecx, eax
and ecx, 0x7f
test al, al
mov edi, dword [esp + 0x40]
mov ebx, ecx
cmovs ebx, edi
test ebx, ebx
je 0x418c65
movzx edx, byte [esp + 0x5f]
test dl, dl
mov dword [esp + 0xc], edx
js 0x418df3
and edx, 0x7f
jmp 0x418df7
mov edx, dword [esp + 0x58]
cmp ebx, edx
je 0x418c39
mov edi, 4
jmp 0x418ccb
push edi
push esi
push dword [esp + 0x50]
call fcn.004ea61d
add esp, 0xc
mov edi, 4
test eax, eax
jne 0x418ce3
jmp 0x418da1
lea esi, [esp + 0x70]
mov ecx, esi
push 0x9d
push str.AutodetectBrandName
push 0
call fcn.0045baa0
lea ebx, [esp + 0xac]
mov ecx, ebx
push 0x52a444
push str.Didnt_found_brand_name._Use_default:
call fcn.004148f0
mov edi, str.yandex
push edi
call fcn.00503950
add esp, 4
lea eax, [eax + str.yandex]
mov ecx, ebx
push eax
push edi
call fcn.004148f0
mov ecx, esi
call fcn.0045bd40
push edi
call fcn.00503950
add esp, 4
cmp eax, 0x7ffffff8
jae 0x419064
mov ebx, eax
cmp eax, 0xa
jbe 0x418eba
mov esi, ebx
or esi, 7
inc esi
push esi
call fcn.004e82a5
add esp, 4
mov dword [esp + 0x14], eax
or esi, 0x80000000
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], ebx
jmp 0x418ec1
lea eax, [esp + 0x14]
mov byte [eax + 0xb], bl
lea esi, [eax + ebx]
cmp eax, str.yandex
ja 0x418ed7
cmp esi, str.yandex
ja 0x418b04
test ebx, ebx
je 0x418eea
push ebx
push str.yandex
push eax
call fcn.004ebca0
add esp, 0xc
mov byte [esi], 0
cmp byte [esp + 0x5f], 0
jns 0x418f00
push dword [esp + 0x54]
call fcn.004e82d5
add esp, 4
cmp byte [esp + 0x6b], 0
lea edi, [esp + 0x14]
jns 0x418f17
push dword [esp + 0x60]
call fcn.004e82d5
add esp, 4
movzx ebx, byte [esp + 0x1f]
test bl, bl
js 0x418f25
and ebx, 0x7f
jmp 0x418f2d
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test ebx, ebx
je 0x418f48
xor esi, esi
movsx eax, byte [edi + esi]
push eax
call fcn.004fec19
add esp, 4
mov byte [edi + esi], al
inc esi
cmp ebx, esi
jne 0x418f33
lea esi, [esp + 0x70]
mov ecx, esi
push 0x183
push str.GetInfoFromResources
push 0
call fcn.0045baa0
lea edi, [esp + 0xac]
mov ecx, edi
push 0x529d81
push str.Fetching_autodetected
call fcn.004148f0
movzx eax, byte [esp + 0x1f]
test al, al
js 0x418f89
and eax, 0x7f
lea edx, [esp + 0x14]
jmp 0x418f91
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add eax, edx
mov ecx, edi
push eax
push edx
call fcn.004148f0
mov ecx, edi
push 0x529d8a
push str._package
call fcn.004148f0
mov ecx, esi
call fcn.0045bd40
lea eax, [esp + 0x60]
mov byte [eax + 0xb], 6
cmp eax, str.BRAND_
ja 0x418fd2
lea eax, [esp + 0x66]
cmp eax, str.BRAND_
ja 0x418b04
lea ecx, [esp + 0x60]
mov word [ecx + 4], 0x5f44
mov dword [ecx], 0x4e415242
lea eax, [esp + 0x14]
movzx edx, byte [eax + 0xb]
mov edi, edx
and edi, 0x7f
test dl, dl
cmovs edi, dword [eax + 4]
mov byte [ecx + 6], 0
cmovs eax, dword [eax]
push edi
push eax
call fcn.0047cfe0
push eax
push esi
call fcn.0043a3d0
add esp, 8
cmp byte [esp + 0x2b], 0
jns 0x419020
push dword [esp + 0x20]
call fcn.004e82d5
add esp, 4
mov eax, dword [esp + 0x78]
mov dword [esp + 0x28], eax
movsd xmm0, qword [esp + 0x70]
movsd qword [esp + 0x20], xmm0
xor eax, eax
mov byte [esp + 0x7b], al
mov byte [esp + 0x70], al
cmp byte [esp + 0x6b], al
jns 0x419050
push dword [esp + 0x60]
call fcn.004e82d5
add esp, 4
cmp byte [esp + 0x1f], 0
jns 0x41882a
push dword [esp + 0x14]
jmp 0x418822
lea ecx, [esp + 0x14]
call fcn.004148d0
lea ecx, [esp + 0x60]
call fcn.004148d0
int3