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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x1f0
mov edi, dword [ebp + 8]
call fcn.00422d60
mov dword [esp + 0x1c], 0
lea ecx, [esp + 0x1c]
call fcn.0041c440
xorps xmm0, xmm0
movaps xmmword [esp + 0xd0], xmm0
mov dword [esp + 0xe0], 0
lea ecx, [esp + 0xd0]
push 0
push 4
call fcn.0041f240
mov dword [esp + 0xd0], 0x54abd4
mov dword [esp + 4], 0
lea ecx, [esp + 4]
call fcn.0041c440
cmp edi, 2
jl 0x401b48
mov ebx, dword [ebp + 0xc]
mov dword [esp + 0xc], 0
lea esi, [esp + 0xf0]
jmp 0x401a3e
push dword [ebx]
call fcn.0041cae0
lea esi, [esp + 0xf0]
mov ecx, esi
call fcn.0041c850
cmp edi, 1
jle 0x401b41
mov dword [esp + 0xf0], 0
mov ecx, esi
push dword [ebx + 4]
call fcn.0041c4c0
mov esi, dword [esp + 0xf0]
push str.__target
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
je 0x401ac0
push str.__split
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
je 0x401ae0
push str.__base
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
je 0x401b18
push str.__generate
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
jne 0x401cf5
add ebx, 4
add edi, 0xffffffff
mov al, 1
mov dword [esp + 0xc], eax
jmp 0x401a27
cmp edi, 2
jle 0x401ce0
add ebx, 8
add edi, 0xfffffffe
lea ecx, [esp + 0x1c]
jmp 0x401a20
cmp edi, 2
jle 0x401d32
add ebx, 8
add edi, 0xfffffffe
lea esi, [esp + 0x190]
mov ecx, esi
push dword [ebx]
call fcn.0041c4c0
lea ecx, [esp + 0xd0]
push esi
call fcn.0041fc10
mov ecx, esi
call fcn.0041c850
jmp 0x401a27
cmp edi, 2
jle 0x401df8
lea esi, [esp + 4]
mov ecx, esi
call fcn.0041c870
test eax, eax
jne 0x401e0a
add edi, 0xfffffffe
add ebx, 8
mov ecx, esi
jmp 0x401a20
test byte [esp + 0xc], 1
jne 0x401b60
mov eax, dword [esp + 0x1c]
mov cl, 1
cmp byte [eax], 0
jne 0x401b62
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
jmp 0x401cca
xor ecx, ecx
mov dword [esp + 0xa8], ecx
lea edi, [esp + 4]
mov ecx, edi
call fcn.0041c870
test eax, eax
je 0x401cab
xorps xmm0, xmm0
movaps xmmword [esp + 0x1d0], xmm0
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
lea esi, [esp + 0x190]
mov ecx, esi
call fcn.00405e20
mov dword [esp + 0xb0], 0
lea eax, [esp + 0xb0]
mov ecx, esi
push 0
push 0
push eax
push edi
call fcn.00405f90
test al, al
je 0x401c9a
lea ecx, [esp + 0x190]
push 3
push 0x54a73f
push dword [esp + 0xb8]
call fcn.00407210
test eax, eax
je 0x401c9a
xorps xmm0, xmm0
movaps xmmword [esp + 0x180], xmm0
movaps xmmword [esp + 0x170], xmm0
movaps xmmword [esp + 0x160], xmm0
movaps xmmword [esp + 0x150], xmm0
movaps xmmword [esp + 0x140], xmm0
movaps xmmword [esp + 0x130], xmm0
movaps xmmword [esp + 0x120], xmm0
movaps xmmword [esp + 0x110], xmm0
movaps xmmword [esp + 0x100], xmm0
movaps xmmword [esp + 0xf0], xmm0
lea esi, [esp + 0xf0]
mov ebx, eax
mov ecx, esi
call fcn.0040ced0
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax + 0x14]
mov edi, eax
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x1c]
mov ecx, esi
push 0
push eax
push edi
call fcn.0040d060
mov dword [esp + 8], eax
test eax, eax
je 0x401d47
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
lea esi, [esp + 4]
jmp 0x4021a8
lea ecx, [esp + 0x190]
call fcn.00405eb0
jmp 0x4021c9
mov esi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
push 2
call esi
add esp, 4
push str.error:_missing___base_argument._n
push eax
call fcn.00401970
add esp, 8
push 2
call esi
add esp, 4
push str.split_select___help_nsplit_select___target__config____base__path_to_apk_____split__path_to_apk___...___nsplit_select___generate___base__path_to_apk_____split__path_to_apk___...___n_n____help___________________Displays_more_information_about_this_program._n____target__config_________Performs_the_Split_APK_selection_on_the_given_configuration._n____generate_______________Generates_the_logic_for_selecting_the_Split_APK__in_JSON_format._n____base__path_to_apk______Specifies_the_base_APK__from_which_all_Split_APKs_must_be_based_off._n____split__path_to_apk_____Includes_a_Split_APK_in_the_selection_process._n_n__Where__config__is_an_extended_AAPT_resource_qualifier_of_the_form_n__resource_qualifiers:extended_qualifiers__where_resource_qualifiers_is_an_AAPT_resource_n__qualifier__ex:_en_rUS_sw600dp_xhdpi___and_extended_qualifiers_is_an_ordered_list_of_one_n__qualifier__or_none__from_each_category:_n____Architecture:_armeabi__armeabi_v7a__arm64_v8a__x86__x86_64__mips_n
push eax
call fcn.00401970
add esp, 8
jmp 0x4021e6
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push str.error:_missing_parameter_for___target._n
jmp 0x401e1a
push str.__help
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
mov esi, eax
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
test esi, esi
je 0x4027d3
push dword [esp + 0xf0]
push str.error:_unknown_argument__s._n
push eax
call fcn.00401970
add esp, 0xc
jmp 0x401e23
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push str.error:_missing_parameter_for___split._n
jmp 0x401e1a
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x90], 0
lea ecx, [esp + 0x90]
push 0x54a753
call fcn.0041dee0
mov dword [esp + 0x20], 0
lea ecx, [esp + 0x20]
push 0x54a77e
call fcn.0041dee0
mov dword [esp + 0x14], 0
lea ecx, [esp + 0x14]
push 0x54a787
call fcn.0041dee0
mov dword [esp + 0x6c], 0
lea ecx, [esp + 0x6c]
push 0x54a793
call fcn.0041dee0
mov dword [esp + 0x68], 0
lea ecx, [esp + 0x68]
push 0x54a79c
call fcn.0041dee0
mov dword [esp + 0x64], 0
lea ecx, [esp + 0x64]
push str.multiArch
call fcn.0041dee0
mov dword [esp + 0x60], 0
lea ecx, [esp + 0x60]
push 0x54a7b2
call fcn.0041dee0
lea edi, [esp + 0xf0]
lea ebx, [esp + 0x10]
jmp 0x401e70
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push str.error:_missing_parameter_for___base._n
jmp 0x401e1a
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push str.error:_multiple___base_flags_not_allowed._n
push eax
call fcn.00401970
add esp, 8
mov esi, 1
mov edi, str.split_select___help_nsplit_select___target__config____base__path_to_apk_____split__path_to_apk___...___nsplit_select___generate___base__path_to_apk_____split__path_to_apk___...___n_n____help___________________Displays_more_information_about_this_program._n____target__config_________Performs_the_Split_APK_selection_on_the_given_configuration._n____generate_______________Generates_the_logic_for_selecting_the_Split_APK__in_JSON_format._n____base__path_to_apk______Specifies_the_base_APK__from_which_all_Split_APKs_must_be_based_off._n____split__path_to_apk_____Includes_a_Split_APK_in_the_selection_process._n_n__Where__config__is_an_extended_AAPT_resource_qualifier_of_the_form_n__resource_qualifiers:extended_qualifiers__where_resource_qualifiers_is_an_AAPT_resource_n__qualifier__ex:_en_rUS_sw600dp_xhdpi___and_extended_qualifiers_is_an_ordered_list_of_one_n__qualifier__or_none__from_each_category:_n____Architecture:_armeabi__armeabi_v7a__arm64_v8a__x86__x86_64__mips_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push edi
push eax
call fcn.00401970
add esp, 8
lea ecx, [esp + 0xf0]
call fcn.0041c850
jmp 0x4021eb
mov ecx, edi
push ebx
nop word cs:[eax + eax]
call fcn.0040c630
lea ebx, [esp + 0x10]
mov ecx, ebx
call fcn.0041da60
lea esi, [esp + 4]
mov ecx, edi
call fcn.0040be40
cmp eax, 0x102
je 0x401ea0
cmp eax, 0xffffffff
je 0x40215d
cmp eax, 1
jne 0x401e74
jmp 0x40215d
mov dword [esp + 0xac], 0
mov ecx, edi
lea eax, [esp + 0xac]
push eax
call fcn.0040c210
mov dword [esp + 0x10], 0
mov ecx, ebx
push dword [esp + 0xac]
push eax
call fcn.0041ddf0
mov edi, dword [esp + 0x10]
mov ecx, ebx
call fcn.0041e000
mov ebx, eax
mov esi, dword [esp + 0x20]
lea ecx, [esp + 0x20]
call fcn.0041e000
push eax
push esi
push ebx
push edi
call fcn.0041ed00
add esp, 0x10
test eax, eax
je 0x402020
mov edi, dword [esp + 0x10]
lea ecx, [esp + 0x10]
call fcn.0041e000
mov ebx, eax
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call fcn.0041e000
push eax
push esi
push ebx
push edi
call fcn.0041ed00
add esp, 0x10
test eax, eax
je 0x402058
mov edi, dword [esp + 0x10]
lea ecx, [esp + 0x10]
call fcn.0041e000
mov ebx, eax
mov esi, dword [esp + 0x6c]
lea ecx, [esp + 0x6c]
call fcn.0041e000
push eax
push esi
push ebx
push edi
call fcn.0041ed00
add esp, 0x10
test eax, eax
lea edi, [esp + 0xf0]
jne 0x401e65
mov edi, dword [esp + 0x90]
lea ecx, [esp + 0x90]
call fcn.0041e000
mov ebx, eax
mov esi, dword [esp + 0x60]
lea ecx, [esp + 0x60]
call fcn.0041e000
lea ecx, [esp + 0xf0]
push eax
push esi
push ebx
push edi
lea edi, [esp + 0x100]
call fcn.0040c8c0
test eax, eax
js 0x401e65
mov ebx, eax
mov ecx, edi
push eax
call fcn.0040c5f0
mov ecx, eax
and ecx, 0xfff0
cmp ecx, 0x10
je 0x401e53
cmp ax, 3
jne 0x40209c
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov ecx, edi
call fcn.0040be20
lea ecx, [esp + 0x70]
push ebx
push eax
call fcn.0040b4f0
cmp dword [esp + 0x74], 0
je 0x4020b7
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push str.warning:_failed_to_retrieve_android:minSdkVersion._n
push eax
call fcn.00401970
add esp, 8
jmp 0x402123
mov eax, dword [esp + 0x90]
mov dword [esp + 0xc], eax
lea ecx, [esp + 0x90]
call fcn.0041e000
mov ebx, eax
mov esi, dword [esp + 0x68]
lea ecx, [esp + 0x68]
call fcn.0041e000
lea edi, [esp + 0xf0]
mov ecx, edi
push eax
push esi
push ebx
push dword [esp + 0x18]
jmp 0x402087
mov edi, dword [esp + 0x90]
lea ecx, [esp + 0x90]
call fcn.0041e000
mov ebx, eax
mov esi, dword [esp + 0x64]
lea ecx, [esp + 0x64]
call fcn.0041e000
lea ecx, [esp + 0xf0]
push eax
push esi
push ebx
push edi
mov edi, ecx
call fcn.0040c8c0
test eax, eax
js 0x401e65
mov ecx, edi
push eax
jmp 0x401e60
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push str.warning:_unrecognized_value_for_android:minSdkVersion._n
push eax
call fcn.00401970
jmp 0x402155
mov dword [esp + 0x40], 0
push 0xa
lea eax, [esp + 0x44]
push eax
push dword [esp + 0x78]
call sub.api_ms_win_crt_convert_l1_1_0.dll_strtol
add esp, 0xc
cmp dword [esp + 0x74], 0
jne 0x402a7b
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x70]
lea ecx, [esp + 0x70]
call fcn.0041c870
add eax, edi
cmp esi, eax
je 0x40211c
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
cmp dword [esp + 0x74], 0
jne 0x402a7b
push dword [esp + 0x70]
push str.warning:_failed_to_parse_android:minSdkVersion__s_n
push eax
call fcn.00401970
add esp, 0xc
lea edi, [esp + 0xf0]
mov eax, dword [esp + 0x74]
cmp eax, 0xffffffff
je 0x401e65
mov ecx, dword [0x54a86c]
mov dword [esp + 0x44], ecx
mov ecx, dword [0x54a868]
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x70]
push ecx
lea ecx, [esp + 0x90]
push ecx
call dword [esp + eax*4 + 0x48]
add esp, 8
jmp 0x401e65
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [esp + 0x60]
call fcn.0041da60
lea ecx, [esp + 0x64]
call fcn.0041da60
lea ecx, [esp + 0x68]
call fcn.0041da60
lea ecx, [esp + 0x6c]
call fcn.0041da60
lea ecx, [esp + 0x14]
call fcn.0041da60
lea ecx, [esp + 0x20]
call fcn.0041da60
lea ecx, [esp + 0x90]
call fcn.0041da60
lea ebx, [esp + 0xf0]
mov ecx, ebx
call fcn.0040cf60
lea ecx, [esp + 0x190]
call fcn.00405eb0
cmp dword [esp + 8], 0
je 0x402227
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push dword [esp + 4]
push str.error:_unable_to_read_base_APK:__s._n
push eax
call fcn.00401970
add esp, 0xc
mov esi, 1
lea ecx, [esp + 4]
call fcn.0041c850
mov dword [esp + 0xd0], 0x54abd4
lea edi, [esp + 0xd0]
mov ecx, edi
call fcn.0041ff60
mov ecx, edi
call fcn.0041f2b0
lea ecx, [esp + 0x1c]
call fcn.0041c850
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xorps xmm0, xmm0
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
mov dword [esp + 0x1d0], 0
lea ecx, [esp + 0x190]
call fcn.00405530
cmp byte [esp + 0xa8], 0
je 0x4022ae
lea eax, [esp + 0x190]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.004057f0
add esp, 8
test al, al
je 0x4027ed
mov dword [esp + 0x194], 0
mov byte [esp + 0x19c], 0
mov dword [esp + 0x1a4], 0
mov byte [esp + 0x1ad], 0
lea ecx, [esp + 0xd0]
push esi
call fcn.0041fc10
xorps xmm0, xmm0
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x80], 0
lea ecx, [esp + 0x70]
push 0
push 0x18
call fcn.00420170
mov dword [esp + 0x70], 0x54ae94
xorps xmm0, xmm0
movaps xmmword [esp + 0xb0], xmm0
mov dword [esp + 0xc0], 0
lea ecx, [esp + 0xb0]
push 0
push 0x48
call fcn.00420170
mov dword [esp + 0xb0], 0x54afb0
xorps xmm0, xmm0
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0xa0], 0
lea ecx, [esp + 0x90]
push 0
push 0x44
call fcn.0041f240
mov dword [esp + 0x90], 0x54af40
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xec], eax
test eax, eax
je 0x402821
xor esi, esi
mov al, 1
lea edi, [esp + 0x20]
nop word cs:[eax + eax]
nop dword [eax]
mov byte [esp + 0x1b], al
xorps xmm0, xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x30], 0
mov dword [esp + 0xa4], esi
lea eax, [esi*4]
mov esi, dword [esp + 0xd4]
mov dword [esp + 0xc], eax
add esi, eax
movaps xmmword [esp + 0x130], xmm0
movaps xmmword [esp + 0x120], xmm0
movaps xmmword [esp + 0x110], xmm0
movaps xmmword [esp + 0x100], xmm0
movaps xmmword [esp + 0xf0], xmm0
mov ecx, ebx
call fcn.00405e20
xorps xmm0, xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x30], 0
mov ecx, edi
push 0
push 0x44
call fcn.0041f240
mov dword [esp + 0x20], 0x54af40
mov dword [esp + 0x14], 0
mov ecx, ebx
push 0
push 0
lea eax, [esp + 0x1c]
push eax
push esi
call fcn.00405f90
test al, al
je 0x4025e0
mov ecx, ebx
push 0
call fcn.00407be0
mov edi, eax
mov ecx, eax
call fcn.004120d0
test eax, eax
jne 0x4024e3
xorps xmm0, xmm0
movaps xmmword [esp + 0x40], xmm0
mov dword [esp + 0x50], 0
lea esi, [esp + 0x40]
mov ecx, esi
push 0
push 0x40
call fcn.0041f240
mov dword [esp + 0x40], 0x54b050
mov ecx, edi
push 1
push 0
push 1
push esi
call fcn.00415af0
mov ecx, dword [esp + 0x48]
test ecx, ecx
lea esi, [esp + 0x20]
je 0x4024c2
xor edi, edi
nop
mov dword [esp + 8], ecx
mov ecx, esi
call fcn.0041fbe0
mov ebx, dword [esp + 0x44]
mov eax, dword [esp + 0x28]
add eax, 0xffffffff
mov ecx, esi
push eax
call fcn.0041fd70
mov ecx, dword [esp + 8]
movups xmm0, xmmword [ebx + edi]
movups xmm1, xmmword [ebx + edi + 0x10]
movups xmmword [eax], xmm0
movups xmmword [eax + 0x10], xmm1
movups xmm0, xmmword [ebx + edi + 0x20]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [ebx + edi + 0x30]
movups xmmword [eax + 0x30], xmm0
mov dword [eax], 0x40
add edi, 0x40
add ecx, 0xffffffff
jne 0x402470
mov dword [esp + 0x40], 0x54b050
lea esi, [esp + 0x40]
mov ecx, esi
call fcn.0041ff60
mov ecx, esi
call fcn.0041f2b0
lea ebx, [esp + 0xf0]
mov ecx, ebx
push 0x54a870
push dword [esp + 0x18]
call fcn.00408890
test eax, eax
je 0x4025e0
mov dword [esp + 0x3c], eax
mov eax, dword [eax + 4]
mov eax, dword [eax + 8]
test eax, eax
lea esi, [esp + 0x40]
je 0x4025d0
xor ebx, ebx
jmp 0x402546
mov dword [esp + 0x40], 0x54abd4
mov ecx, esi
call fcn.0041ff60
mov ecx, esi
call fcn.0041f2b0
add ebx, 0xc
mov eax, dword [esp + 8]
add eax, 0xffffffff
je 0x4025d0
mov dword [esp + 8], eax
lea edi, [esp + 0x20]
mov ecx, edi
call fcn.0041fbe0
xorps xmm0, xmm0
movaps xmmword [esp + 0x40], xmm0
mov dword [esp + 0x50], 0
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
add eax, ebx
push 0x2d
push eax
push esi
call fcn.00405d30
add esp, 0xc
mov eax, dword [esp + 0x28]
add eax, 0xffffffff
mov ecx, edi
push eax
call fcn.0041fd70
push eax
push 0
push esi
call fcn.004056a0
add esp, 0xc
test eax, eax
jns 0x402520
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + 4]
push dword [ecx + ebx]
push str.Malformed_library__s_n
push eax
call fcn.00401970
add esp, 0xc
lea ecx, [esp + 0x20]
call fcn.0041fb10
jmp 0x402520
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx]
call dword [eax + 4]
lea ebx, [esp + 0xf0]
mov ecx, ebx
call fcn.00405eb0
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
test eax, eax
je 0x40275c
mov eax, dword [esp + 0xd4]
add eax, dword [esp + 0xc]
xorps xmm0, xmm0
movaps xmmword [esp + 0xf0], xmm0
mov dword [esp + 0x104], 0
mov dword [esp + 0x100], 0
mov ecx, ebx
push eax
call fcn.0041c4a0
lea esi, [esp + 0xf4]
mov ecx, esi
lea eax, [esp + 0x20]
push eax
call fcn.0041f270
mov dword [esp + 0xf4], 0x54af40
lea edi, [esp + 0x70]
mov ecx, edi
push ebx
call fcn.00420630
mov ecx, edi
push ebx
call fcn.004203c0
mov dword [esp + 0xf4], 0x54af40
mov ecx, esi
call fcn.0041ff60
mov ecx, esi
call fcn.0041f2b0
mov ecx, ebx
call fcn.0041c850
mov esi, dword [esp + 0x28]
test esi, esi
lea edi, [esp + 0x134]
je 0x40273b
mov ebx, 0x40
nop word cs:[eax + eax]
nop
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0xd4]
add eax, dword [esp + 0xc]
mov dword [esp + 0x134], 0
movups xmm0, xmmword [ecx + ebx - 0x40]
movups xmm1, xmmword [ecx + ebx - 0x30]
movaps xmmword [esp + 0xf0], xmm0
movaps xmmword [esp + 0x100], xmm1
movups xmm0, xmmword [ecx + ebx - 0x20]
movaps xmmword [esp + 0x110], xmm0
movups xmm0, xmmword [ecx + ebx - 0x10]
movaps xmmword [esp + 0x120], xmm0
mov ecx, dword [ecx + ebx]
mov dword [esp + 0x130], ecx
mov ecx, edi
push eax
call fcn.0041c4a0
lea ecx, [esp + 0xb0]
lea edi, [esp + 0xf0]
push edi
call fcn.00420630
lea ecx, [esp + 0xb0]
push edi
lea edi, [esp + 0x138]
call fcn.004203c0
mov ecx, edi
call fcn.0041c850
add ebx, 0x44
add esi, 0xffffffff
jne 0x4026a0
lea ecx, [esp + 0x90]
lea edi, [esp + 0x20]
push edi
call fcn.0041f560
lea ebx, [esp + 0xf0]
mov esi, dword [esp + 0xa4]
jmp 0x4027a1
push 2
mov edi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
call edi
add esp, 4
mov ecx, dword [esp + 0xd4]
mov esi, dword [esp + 0xa4]
push dword [ecx + esi*4]
push str.error:_invalid___split_path:__s._No_splits_found._n
push eax
call fcn.00401970
add esp, 0xc
push 2
call edi
add esp, 4
push str.split_select___help_nsplit_select___target__config____base__path_to_apk_____split__path_to_apk___...___nsplit_select___generate___base__path_to_apk_____split__path_to_apk___...___n_n____help___________________Displays_more_information_about_this_program._n____target__config_________Performs_the_Split_APK_selection_on_the_given_configuration._n____generate_______________Generates_the_logic_for_selecting_the_Split_APK__in_JSON_format._n____base__path_to_apk______Specifies_the_base_APK__from_which_all_Split_APKs_must_be_based_off._n____split__path_to_apk_____Includes_a_Split_APK_in_the_selection_process._n_n__Where__config__is_an_extended_AAPT_resource_qualifier_of_the_form_n__resource_qualifiers:extended_qualifiers__where_resource_qualifiers_is_an_AAPT_resource_n__qualifier__ex:_en_rUS_sw600dp_xhdpi___and_extended_qualifiers_is_an_ordered_list_of_one_n__qualifier__or_none__from_each_category:_n____Architecture:_armeabi__armeabi_v7a__arm64_v8a__x86__x86_64__mips_n
push eax
call fcn.00401970
add esp, 8
lea edi, [esp + 0x20]
mov dword [esp + 0x20], 0x54af40
mov ecx, edi
call fcn.0041ff60
mov ecx, edi
call fcn.0041f2b0
cmp dword [esp + 8], 0
je 0x402811
add esi, 1
cmp esi, dword [esp + 0xec]
setb al
jne 0x402370
jmp 0x402821
push str.split_select___help_nsplit_select___target__config____base__path_to_apk_____split__path_to_apk___...___nsplit_select___generate___base__path_to_apk_____split__path_to_apk___...___n_n____help___________________Displays_more_information_about_this_program._n____target__config_________Performs_the_Split_APK_selection_on_the_given_configuration._n____generate_______________Generates_the_logic_for_selecting_the_Split_APK__in_JSON_format._n____base__path_to_apk______Specifies_the_base_APK__from_which_all_Split_APKs_must_be_based_off._n____split__path_to_apk_____Includes_a_Split_APK_in_the_selection_process._n_n__Where__config__is_an_extended_AAPT_resource_qualifier_of_the_form_n__resource_qualifiers:extended_qualifiers__where_resource_qualifiers_is_an_AAPT_resource_n__qualifier__ex:_en_rUS_sw600dp_xhdpi___and_extended_qualifiers_is_an_ordered_list_of_one_n__qualifier__or_none__from_each_category:_n____Architecture:_armeabi__armeabi_v7a__arm64_v8a__x86__x86_64__mips_n
push eax
call fcn.00401970
add esp, 8
xor esi, esi
mov edi, str._n__Generates_the_logic_for_selecting_a_Split_APK_given_some_target_Android_device_configuration._n__Using_the_flag___generate_will_emit_a_JSON_encoded_tree_of_rules_that_must_be_satisfied_in_order_n__to_install_the_given_Split_APK._Using_the_flag___target_along_with_the_device_configuration_n__will_emit_the_set_of_Split_APKs_to_install__following_the_same_logic_that_would_have_been_emitted_n__via_JSON._n
jmp 0x401e2d
mov esi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
push 2
call esi
add esp, 4
push dword [esp + 0x1c]
push str.error:_invalid___target_config:__s._n
push eax
call fcn.00401970
add esp, 0xc
jmp 0x401cc6
mov esi, 1
test byte [esp + 0x1b], 1
jne 0x402a06
cmp byte [esp + 0xa8], 0
je 0x4029bc
xorps xmm0, xmm0
movaps xmmword [esp + 0x40], xmm0
mov dword [esp + 0x50], 0
movaps xmmword [esp + 0xf0], xmm0
mov dword [esp + 0x100], 0
mov ecx, ebx
lea eax, [esp + 0x90]
push eax
call fcn.00405980
lea ecx, [esp + 0x40]
lea eax, [esp + 0x190]
push eax
push ebx
call fcn.00405990
mov dword [esp + 0xf0], 0x54aa00
mov ecx, ebx
call fcn.0041ff60
mov ecx, ebx
call fcn.0041f2b0
mov ebx, dword [esp + 0x48]
xorps xmm0, xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x30], 0
lea ecx, [esp + 0x20]
push 0
push 4
call fcn.00420170
mov dword [esp + 0x20], 0x54b0bc
test ebx, ebx
je 0x40296e
mov esi, 0x40
nop word cs:[eax + eax]
nop dword [eax]
mov eax, dword [esp + 0x44]
movups xmm0, xmmword [eax + esi - 0x10]
movaps xmmword [esp + 0x120], xmm0
movups xmm0, xmmword [eax + esi - 0x20]
movaps xmmword [esp + 0x110], xmm0
movups xmm0, xmmword [eax + esi - 0x40]
movups xmm1, xmmword [eax + esi - 0x30]
movaps xmmword [esp + 0x100], xmm1
movaps xmmword [esp + 0xf0], xmm0
mov eax, dword [eax + esi]
mov dword [esp + 0x130], eax
lea ecx, [esp + 0x134]
call fcn.0041c440
lea ecx, [esp + 0xb0]
lea eax, [esp + 0xf0]
push eax
call fcn.00420200
mov edi, eax
lea ecx, [esp + 0x134]
call fcn.0041c850
test edi, edi
js 0x402a65
mov eax, dword [esp + 0xb4]
lea ecx, [edi + edi*8]
lea eax, [eax + ecx*8]
add eax, 0x44
lea ecx, [esp + 0x20]
push eax
call fcn.004203c0
add esi, 0x44
add ebx, 0xffffffff
jne 0x4028d0
mov esi, dword [esp + 0x28]
test esi, esi
je 0x4029d0
xor edi, edi
mov ebx, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
jmp 0x402987
add edi, 1
cmp esi, edi
je 0x4029d0
mov eax, dword [esp + 0x24]
push dword [esp + 4]
push dword [eax + edi*4]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
je 0x402980
push 1
call ebx
add esp, 4
mov ecx, dword [esp + 0x24]
push dword [ecx + edi*4]
push 0x54a1e1
push eax
call fcn.00401970
add esp, 0xc
jmp 0x402980
lea eax, [esp + 4]
push eax
lea eax, [esp + 0x74]
push eax
call fcn.00401520
add esp, 8
jmp 0x402a04
mov dword [esp + 0x20], 0x54b0bc
lea esi, [esp + 0x20]
mov ecx, esi
call fcn.0041ff60
mov ecx, esi
call fcn.0041f2b0
mov dword [esp + 0x40], 0x54af40
lea esi, [esp + 0x40]
mov ecx, esi
call fcn.0041ff60
mov ecx, esi
call fcn.0041f2b0
xor esi, esi
mov dword [esp + 0x90], 0x54af40
lea edi, [esp + 0x90]
mov ecx, edi
call fcn.0041ff60
mov ecx, edi
call fcn.0041f2b0
mov dword [esp + 0xb0], 0x54afb0
lea edi, [esp + 0xb0]
mov ecx, edi
call fcn.0041ff60
mov ecx, edi
call fcn.0041f2b0
mov dword [esp + 0x70], 0x54ae94
lea edi, [esp + 0x70]
mov ecx, edi
call fcn.0041ff60
mov ecx, edi
call fcn.0041f2b0
jmp 0x4021eb
push str.const_VALUE_android::KeyedVector_split::SplitDescription__android::String8_::valueFor_const_KEY___const__KEY__split::SplitDescription__VALUE__android::String8_
push 0x54a88e
push 0
push 0x54a88a
call fcn.004210a0
call fcn.00403db0
push esi
mov esi, ecx
mov dword [ecx], 0x54af40
call fcn.0041ff60
mov ecx, esi
pop esi
jmp fcn.0041f2b0