Function at 0x40274d
Capabilities:
Reference http user-agent string

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x64
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
push 0xc
call fcn.0041554a
add esp, 4
mov dword [ebp - 0x10], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx], 0x4be751
push ebx
add ebx, 4
push ebx
push 8
call fcn.0041554a
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4be78d
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
add ebx, 4
push ebx
push 8
call fcn.0041554a
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4be78d
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
pop ebx
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
push str.c274bac6493544b89d9c4f9d8d542b84
mov ebx, dword [ebp + 0x14]
push dword [ebx]
push str.stamp
mov ebx, dword [ebp + 0x10]
push dword [ebx]
push str.s2secretword
mov ebx, dword [ebp + 0xc]
push dword [ebx]
push str.round
mov ebx, dword [ebp + 8]
push dword [ebx]
push str.marketingId
mov ecx, 9
call fcn.00401093
add esp, 0x24
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x402844
push ebx
call fcn.00415550
add esp, 4
pop eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
mov dword [ebp - 0x28], 0
push 0
push dword [ebp - 0x28]
push 1
push 1
lea eax, [ebp - 4]
push eax
call fcn.004030c3
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x402887
push ebx
call fcn.00415550
add esp, 4
pop eax
mov dword [ebp - 8], eax
push 0x4bcf81
mov ebx, dword [ebp + 0x14]
push dword [ebx]
push str.___s_:2__stamp_:
push dword [ebp - 8]
push str.___sign_:_
mov ebx, dword [ebp + 0x10]
push dword [ebx]
push str.___secretword_:_
mov ebx, dword [ebp + 0xc]
push dword [ebx]
push str.___round_:_
mov ebx, dword [ebp + 8]
push dword [ebx]
push str._marketingId_:_
mov ecx, 0xb
call fcn.00401093
add esp, 0x2c
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
push eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x4028e4
push ebx
call fcn.00415550
add esp, 4
pop eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
mov eax, str.mxsa.mxbc.net
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
mov eax, str.Host
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x10]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 8]
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x40292a
push ebx
call fcn.00415550
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40293a
push ebx
call fcn.00415550
add esp, 4
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
mov eax, str.keep_alive
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
mov eax, str.Connection
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x10]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 8]
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x40297c
push ebx
call fcn.00415550
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40298c
push ebx
call fcn.00415550
add esp, 4
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
mov eax, 0x4bcff6
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
mov eax, str.Content_Length
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x10]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 8]
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x4029ce
push ebx
call fcn.00415550
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x4029de
push ebx
call fcn.00415550
add esp, 4
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
mov eax, str.application_json__text_plain___
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
mov eax, str.Accept
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x10]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 8]
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x402a20
push ebx
call fcn.00415550
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x402a30
push ebx
call fcn.00415550
add esp, 4
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
push dword [ebp + 0x18]
mov eax, str.Access_Token
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x10]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 8]
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x402a69
push ebx
call fcn.00415550
add esp, 4
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
mov eax, str.Mozilla_5.0__Windows_NT_10.0__Win64__x64__AppleWebKit_537.36__KHTML__like_Gecko__Chrome_116.0.0.0_Safari_537.36_MicroMessenger_7.0.20.1781_0x6700143B__NetType_WIFI_MiniProgramEnv_Windows_WindowsWechat_WMPF_WindowsWechat_0x63090b13_XWEB_9193
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
mov eax, str.User_Agent
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x10]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 8]
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x402aab
push ebx
call fcn.00415550
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x402abb
push ebx
call fcn.00415550
add esp, 4
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
mov eax, str.application_json_charsetUTF_8
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
mov eax, str.Content_Type
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x10]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 8]
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x402afd
push ebx
call fcn.00415550
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x402b0d
push ebx
call fcn.00415550
add esp, 4
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
mov eax, str.https:__mxsa_h5.mxbc.net
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
mov eax, str.Origin
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x10]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 8]
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x402b4f
push ebx
call fcn.00415550
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x402b5f
push ebx
call fcn.00415550
add esp, 4
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
mov eax, str.same_site
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
mov eax, str.Sec_Fetch_Site
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x10]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 8]
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x402ba1
push ebx
call fcn.00415550
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x402bb1
push ebx
call fcn.00415550
add esp, 4
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
mov eax, str.cors
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
mov eax, str.Sec_Fetch_Mode
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x10]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 8]
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x402bf3
push ebx
call fcn.00415550
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x402c03
push ebx
call fcn.00415550
add esp, 4
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
mov eax, str.empty
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
mov eax, str.Sec_Fetch_Dest
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x10]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 8]
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x402c45
push ebx
call fcn.00415550
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x402c55
push ebx
call fcn.00415550
add esp, 4
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
mov eax, str.https:__mxsa_h5.mxbc.net_
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
mov eax, str.Referer
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x10]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 8]
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x402c97
push ebx
call fcn.00415550
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x402ca7
push ebx
call fcn.00415550
add esp, 4
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
mov eax, str.zh_CN_zh_q0.9
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
mov eax, str.Accept_Language
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x10]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 8]
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x402ce9
push ebx
call fcn.00415550
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x402cf9
push ebx
call fcn.00415550
add esp, 4
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
lea eax, [ebp - 0x10]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x1c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x402d2a
push ebx
call fcn.00415550
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
push VariantClear
push 0
push str.function_Get_type__g___r_n____function_sig_L___r_n________for__var_N__0__g__encodeURIComponent_L___B__0__B___g_length___B__r_n____________N_____N____7____N___398___g_charCodeAt__B___r_n________________N__0__r_n________return_N__r_n______r_n____function_ua_E__H___r_n________var_W___3__4__2__1__0__r_n______________P__0__r_n________while_________r_n____________switch__W_P____r_n________________case_0:_r_n____________________switch__M_length____4___r_n________________________default:_r_n________________________case_0:_r_n____________________________return_M__r_n________________________case_1:_r_n____________________________return_M____r_n________________________case_2:_r_n____________________________return_M____r_n________________________case_3:_r_n____________________________return_M____r_n_____________________r_n____________________continue__r_n________________case_1:_r_n____________________if__H__r_n________________________return_M__r_n____________________continue__r_n________________case_2:_r_n____________________var_M__uu_E__6__function__L___r_n________________________return_V__uGGDj____charAt___L___r_n_______________________r_n____________________continue__r_n________________case_3:_r_n____________________var_K____r_n____________________K__uGGDj____DGi0YA7BemWnQjCl4bR3f8SKIF9tUz_xhr2oEOgPpac61ZqwTudLkM5vHyNXsVJ__r_n____________________var_V__K__r_n____________________continue__r_n________________case_4:_r_n____________________if__null__E__r_n________________________return___r_n____________________continue__r_n_____________r_n____________break__r_n_________r_n______r_n____function_uu_E__H__W___r_n________if__null__E__r_n____________return___r_n________for__var_P__M__K__V__L____N____B____Q__2__R__3__I__2__T______w__0__k__0__v__0__v___E_length___v__1__r_n____________if__K__E_charAt__v___r_n________________Object_prototype__hasOwnProperty__call__L__K____L_K___R__r_n____________________N_K___true___r_n________________V__B__K__r_n________________Object_prototype__hasOwnProperty__call__L__V___r_n________________B__V__r_n____________else__r_n________________if__Object_prototype__hasOwnProperty__call__N__B____r_n____________________if__B_charCodeAt__0____256___r_n________________________for__P__0__P___I__P__r_n____________________________w____1__k__H___1____k__0__r_n________________________________T_push__W_w____r_n________________________________w__0__:_k__r_n________________________for__M__B_charCodeAt__0___P__0__P___8__P__r_n____________________________w__w____1__1__M__r_n________________________________k__H___1____k__0__T_push__W_w____w__0__:_k__M____1__r_n_____________________else__r_n________________________for__M__1__P__0__P___I__P__r_n____________________________w__w____1__M__k__H___1____k__0__T_push__W_w____w__0__:_k__M__0__r_n________________________for__M__B_charCodeAt__0___P__0__P___16__P__r_n____________________________w__w____1__1__M__k__H___1____k__0__T_push__W_w____w__0__:_k__M____1__r_n_____________________r_n____________________0____Q___Q__Math_pow__2__I___I___delete_N_B___r_n_________________else__r_n____________________for__M__L_B___P__0__P___I__P__r_n________________________w__w____1__1__M__r_n____________________________k__H___1____k__0__T_push__W_w____w__0__:_k__M____1__r_n_________________r_n________________0____Q___Q__Math_pow__2__I___I___r_n____________________L_V___R__r_n____________________B__String_K___r_n_____________r_n________if_____B___r_n____________if__Object_prototype__hasOwnProperty__call__N__B____r_n________________if__B_charCodeAt__0____256___r_n____________________for__P__0__P___I__P__r_n________________________w____1__k__H___4097____k__0__T_push__W_w____r_n____________________________w__0__:_k__r_n____________________for__M__B_charCodeAt__0___P__0__P___8__P__r_n________________________w__w____1__1__M__r_n
push 0x40001
push 0x16013307
push 0x52010001
push 2
mov eax, 3
mov ebx, 0x47c8d0
call fcn.00415574
add esp, 0x1c
push 0x4bcf81
mov ebx, dword [ebp + 0x14]
push dword [ebx]
push str.___s_:2__stamp_:
push dword [ebp - 8]
push str.___sign_:_
mov ebx, dword [ebp + 0x10]
push dword [ebx]
push str.___secretword_:_
mov ebx, dword [ebp + 0xc]
push dword [ebx]
push str.___round_:_
mov ebx, dword [ebp + 8]
push dword [ebx]
push str.https:__mxsa.mxbc.net_api_v1_h5_marketing_secretword_confirm_marketingId_:_
mov ecx, 0xb
call fcn.00401093
add esp, 0x2c
mov dword [ebp - 0x24], eax
push VariantClear
push 0
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x402db8
mov eax, 0x4bce1c
push eax
push VariantClear
push 0
push str.Get_type_
push 0x40001
push 0x16013307
push 0x52010001
push 3
mov eax, 3
mov ebx, 0x47c920
call fcn.00415574
add esp, 0x28
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x402dfe
push ebx
call fcn.00415550
add esp, 4
mov eax, dword [ebp - 0x28]
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x402e12
push ebx
call fcn.00415550
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
push dword [ebp - 0x18]
push str.https:__mxsa.mxbc.net_api_v1_h5_marketing_secretword_confirm_type__1286
mov ecx, 2
call fcn.00401093
add esp, 8
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], 0
push 0
push dword [ebp - 0x28]
mov dword [ebp - 0x2c], 0
push 0
push dword [ebp - 0x2c]
mov dword [ebp - 0x30], 0
push 0
push dword [ebp - 0x30]
push 8
call fcn.0041554a
add esp, 4
mov dword [ebp - 0x34], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
push 0
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x38], 0
push 0
push dword [ebp - 0x38]
mov dword [ebp - 0x3c], 0
push 0
lea eax, [ebp - 0x3c]
push eax
mov dword [ebp - 0x40], 0
push 0
lea eax, [ebp - 0x40]
push eax
mov dword [ebp - 0x44], 0
push 0
push dword [ebp - 0x44]
mov dword [ebp - 0x48], 0
push 0
lea eax, [ebp - 0x48]
push eax
mov dword [ebp - 0x4c], 0
push 0
lea eax, [ebp - 0x4c]
push eax
mov dword [ebp - 0x50], 0
push 0
push dword [ebp - 0x50]
push 1
lea eax, [ebp - 0x20]
push eax
mov dword [ebp - 0x54], 0
push 0
lea eax, [ebp - 0x54]
push eax
push 1
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 0x58], 0
push 0
lea eax, [ebp - 0x58]
push eax
mov dword [ebp - 0x5c], 0
push 0
lea eax, [ebp - 0x5c]
push eax
push 1
lea eax, [ebp - 0xc]
push eax
push 1
push 1
lea eax, [ebp - 0x24]
push eax
call fcn.004043ef
mov dword [ebp - 0x60], eax
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x402f2b
push ebx
call fcn.00415550
add esp, 4
mov ebx, dword [ebp - 0x5c]
test ebx, ebx
je 0x402f3b
push ebx
call fcn.00415550
add esp, 4
mov ebx, dword [ebp - 0x58]
test ebx, ebx
je 0x402f4b
push ebx
call fcn.00415550
add esp, 4
mov ebx, dword [ebp - 0x54]
test ebx, ebx
je 0x402f5b
push ebx
call fcn.00415550
add esp, 4
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x402f6b
push ebx
call fcn.00415550
add esp, 4
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x402f7b
push ebx
call fcn.00415550
add esp, 4
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x402f8b
push ebx
call fcn.00415550
add esp, 4
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x402f9b
push ebx
call fcn.00415550
add esp, 4
mov ebx, dword [ebp - 0x34]
push ebx
push 0x10030
push 0
push ebx
push 1
mov ebx, 0x4189c0
call fcn.00415562
add esp, 0x10
call fcn.00415550
add esp, 4
lea eax, [ebp - 0x60]
push eax
call fcn.00408765
mov dword [ebp - 0x64], eax
mov ebx, dword [ebp - 0x60]
test ebx, ebx
je 0x402fda
push ebx
call fcn.00415550
add esp, 4
mov eax, dword [ebp - 0x64]
push eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x402fee
push ebx
call fcn.00415550
add esp, 4
pop eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x20], 0xc8
jne 0x403025
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x40301b
push eax
mov ebx, eax
call fcn.00401028
inc eax
push eax
call fcn.0041554a
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x40304b
cmp dword [ebp - 0x20], 0x195
jne 0x403041
mov eax, 0x4be729
jmp 0x40304b
mov eax, 0x4be73a
jmp 0x40304b
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x40305c
push ebx
call fcn.00415550
add esp, 4
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40306c
push ebx
call fcn.00415550
add esp, 4
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x40307c
push ebx
call fcn.00415550
add esp, 4
mov ebx, dword [ebp - 0x10]
push ebx
mov eax, dword [ebx]
call dword [eax]
call fcn.00415550
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x40309c
push ebx
call fcn.00415550
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4030ac
push ebx
call fcn.00415550
add esp, 4
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x4030bc
push ebx
call fcn.00415550
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 0x14