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

Disassembly:
push 0xffffffffffffffff
push 0x4ba377
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x244
push ebx
push ebp
push esi
push edi
lea eax, [esp + 0x24]
push eax
mov esi, ecx
xor ebx, ebx
call fcn.00405f10
lea ecx, [esp + 0x10]
push ecx
mov ecx, esi
mov dword [esp + 0x260], ebx
call fcn.00405ed0
mov esi, dword [esp + 0x264]
mov ebp, dword [esp + 0x268]
mov byte [esp + 0x25c], 1
jmp 0x42b730
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x10]
call dword [edx + 4]
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x24]
call dword [eax + 4]
mov ecx, dword [esp + 0x14]
cmp ecx, dword [esp + 0x28]
je 0x42b770
push 0x1509
push str..._.._.._Common_MiscMultiFieldBlob.h
push str.m_pBlob__rhs.m_pBlob
push str.Same_m_pBlob
call fcn.00421210
mov ecx, eax
call fcn.00421040
mov edx, dword [esp + 0x18]
cmp edx, dword [esp + 0x2c]
je 0x42bd0a
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x10]
call dword [eax + 4]
lea ecx, [esp + 0x10]
call fcn.0041cc40
mov edi, eax
lea eax, [edi - 1]
cmp eax, 8
ja case.0x42b7a0.5
jmp dword [eax*4 + 0x42bdd8]
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x10]
call dword [edx + 4]
lea ecx, [esp + 0x10]
call fcn.0041c9f0
cmp eax, 4
jne 0x42bc05
mov edx, dword [esp + 0x10]
mov ecx, edi
mov eax, 1
shl eax, cl
lea ecx, [esp + 0x10]
or ebx, eax
call dword [edx + 4]
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x14]
call fcn.0041e8f0
test esi, esi
mov ecx, dword [eax]
mov dword [esp + 0x20], ecx
je case.0x42b7a0.5
push ebp
push esi
lea edx, [esp + 0x28]
push edx
push str.SubscriptionId
call fcn.0041f360
add esp, 0x10
lea ecx, [esp + 0x10]
call fcn.00403df0
jmp 0x42b730
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x10]
call dword [eax + 4]
lea ecx, [esp + 0x10]
call fcn.0041cd00
mov dword [esp + 0x20], eax
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42b833
sub eax, edx
mov dword [esp + 0x6c], eax
je 0x42bc2a
mov edx, 1
mov ecx, edi
shl edx, cl
or ebx, edx
test esi, esi
je case.0x42b7a0.5
push ebp
push esi
lea eax, [esp + 0x28]
push eax
push str.Name
call fcn.0041efd0
add esp, 0x10
lea ecx, [esp + 0x10]
call fcn.00403df0
jmp 0x42b730
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x10]
call dword [edx + 4]
lea ecx, [esp + 0x10]
call fcn.0041c9f0
cmp eax, 2
jne 0x42bc58
mov edx, dword [esp + 0x10]
mov ecx, edi
mov eax, 1
shl eax, cl
lea ecx, [esp + 0x10]
or ebx, eax
call dword [edx + 4]
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x14]
call fcn.0041e8f0
test esi, esi
movzx eax, word [eax]
je case.0x42b7a0.5
push eax
call fcn.00427a80
push ebp
push esi
lea ecx, [esp + 0x2c]
push ecx
push str.BillingType
mov dword [esp + 0x34], eax
call fcn.0041efd0
add esp, 0x14
lea ecx, [esp + 0x10]
call fcn.00403df0
jmp 0x42b730
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x10]
call dword [edx + 4]
lea ecx, [esp + 0x10]
call fcn.0041c9f0
cmp eax, 4
jne 0x42bc80
mov edx, dword [esp + 0x10]
mov ecx, edi
mov eax, 1
shl eax, cl
lea ecx, [esp + 0x10]
or ebx, eax
call dword [edx + 4]
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x14]
call fcn.0041e8f0
test esi, esi
mov ecx, dword [eax]
mov dword [esp + 0x20], ecx
je case.0x42b7a0.5
push ebp
push esi
lea edx, [esp + 0x28]
push edx
push str.CostInCents
call fcn.0041f360
add esp, 0x10
lea ecx, [esp + 0x10]
call fcn.00403df0
jmp 0x42b730
test esi, esi
je 0x42b978
push ebp
push esi
push str.SubscriptionAppIdsRecord
call fcn.0041f0e0
add esp, 0xc
inc ebp
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x10]
call dword [eax + 4]
lea ecx, [esp + 0x10]
call fcn.00426a60
test eax, eax
je 0x42b9fe
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x10]
call dword [edx + 4]
push 0
push 0x501330
push 0x4ff40c
push 0
lea ecx, [esp + 0x20]
call fcn.00426a60
push eax
call fcn.0049f187
add esp, 0x14
test eax, eax
jne 0x42b9df
push 0x9bf
push str.p4clients_rel_betaProjectsGazelleProtoCommonSrcContentDescriptionDBKeyRecord.cpp
push str.dynamic_cast_CSubscriptionAppIdsRecord____iterCurr__FindRegisteredChildBlob_______0
push str.CSubscriptionAppIdsRecord_registered_to_CContentDescriptionRecord
call fcn.00421210
mov ecx, eax
call fcn.00421040
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x10]
call dword [eax + 4]
push ebp
push esi
lea ecx, [esp + 0x18]
call fcn.00426a60
mov ecx, eax
call fcn.00429280
jmp 0x42ba1d
push ebp
push esi
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x160]
call fcn.00429990
lea ecx, [esp + 0x154]
call fcn.0044cdc0
mov edx, 1
mov ecx, edi
shl edx, cl
or ebx, edx
test esi, esi
je case.0x42b7a0.5
dec ebp
push ebp
push esi
push str.SubscriptionAppIdsRecord
jmp 0x42bbef
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x10]
call dword [eax + 4]
lea ecx, [esp + 0x10]
call fcn.0041c9f0
cmp eax, 4
jne 0x42bcae
mov eax, dword [esp + 0x10]
mov ecx, edi
mov edx, 1
shl edx, cl
lea ecx, [esp + 0x10]
or ebx, edx
call dword [eax + 4]
lea ecx, [esp + 0x68]
push ecx
lea ecx, [esp + 0x14]
call fcn.0041e8f0
test esi, esi
mov edx, dword [eax]
mov dword [esp + 0x20], edx
je case.0x42b7a0.5
push ebp
push esi
lea eax, [esp + 0x28]
push eax
push str.OnSubscribeRunAppId
call fcn.0041f360
add esp, 0x10
lea ecx, [esp + 0x10]
call fcn.00403df0
jmp 0x42b730
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x10]
call dword [edx + 4]
lea ecx, [esp + 0x10]
call fcn.0041c9f0
cmp eax, 4
jne 0x42bcdc
mov edx, dword [esp + 0x10]
mov ecx, edi
mov eax, 1
shl eax, cl
lea ecx, [esp + 0x10]
or ebx, eax
call dword [edx + 4]
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x14]
call fcn.0041e8f0
test esi, esi
mov ecx, dword [eax]
mov dword [esp + 0x20], ecx
je case.0x42b7a0.5
push ebp
push esi
lea edx, [esp + 0x28]
push edx
push str.OnSubscribeRunLaunchOptionIdx
call fcn.0041f360
add esp, 0x10
lea ecx, [esp + 0x10]
call fcn.00403df0
jmp 0x42b730
test esi, esi
je 0x42bb33
push ebp
push esi
push str.OptionalRateLimitRecord
call fcn.0041f0e0
add esp, 0xc
inc ebp
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x10]
call dword [eax + 4]
lea ecx, [esp + 0x10]
call fcn.00426a60
test eax, eax
je 0x42bbb9
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x10]
call dword [edx + 4]
push 0
push 0x50194c
push 0x4ff40c
push 0
lea ecx, [esp + 0x20]
call fcn.00426a60
push eax
call fcn.0049f187
add esp, 0x14
test eax, eax
jne 0x42bb9a
push 0x9e9
push str.p4clients_rel_betaProjectsGazelleProtoCommonSrcContentDescriptionDBKeyRecord.cpp
push str.dynamic_cast_CRateLimitRecord____iterCurr__FindRegisteredChildBlob_______0
push str.CRateLimitRecord_registered_to_CContentDescriptionRecord
call fcn.00421210
mov ecx, eax
call fcn.00421040
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x10]
call dword [eax + 4]
push ebp
push esi
lea ecx, [esp + 0x18]
call fcn.00426a60
mov ecx, eax
call fcn.0042ace0
jmp 0x42bbd8
push ebp
push esi
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x1e0]
call fcn.0042b070
lea ecx, [esp + 0x1d4]
call fcn.0044cdc0
mov edx, 1
mov ecx, edi
shl edx, cl
or ebx, edx
test esi, esi
je case.0x42b7a0.5
dec ebp
push ebp
push esi
push str.OptionalRateLimitRecord
call fcn.0041f1b0
add esp, 0xc
lea ecx, [esp + 0x10]
call fcn.00403df0
jmp 0x42b730
push str.Bad_SubscriptionId_field_in_CSubscriptionRecord
lea ecx, [esp + 0x38]
call fcn.0040a320
push 0x4f2870
lea eax, [esp + 0x38]
push eax
mov dword [esp + 0x3c], vtable.Grid::CSubscriptionRecord::CValidateFieldsException.0
call fcn.0049e394
push str.Empty_Name_in_CSubscriptionRecord
lea ecx, [esp + 0xa8]
call fcn.0040a320
push 0x4f2870
lea ecx, [esp + 0xa8]
push ecx
mov dword [esp + 0xac], vtable.Grid::CSubscriptionRecord::CValidateFieldsException.0
call fcn.0049e394
push str.Bad_eBillingType_field_CSubscriptionRecord
lea ecx, [esp + 0x7c]
call fcn.0040a320
push 0x4f2870
lea edx, [esp + 0x7c]
push edx
mov dword [esp + 0x80], vtable.Grid::CSubscriptionRecord::CValidateFieldsException.0
call fcn.0049e394
push str.Bad_CostInCents_field_in_CSubscriptionRecord
lea ecx, [esp + 0x12c]
call fcn.0040a320
push 0x4f2870
lea eax, [esp + 0x12c]
push eax
mov dword [esp + method.common::CMultiFieldBlob::CStringFieldNotTerminatedException.virtual_0], vtable.Grid::CSubscriptionRecord::CValidateFieldsException.0
call fcn.0049e394
push str.Bad_OnSubscribeRunAppId_field_in_CSubscriptionRecord
lea ecx, [esp + 0xd4]
call fcn.0040a320
push 0x4f2870
lea ecx, [esp + 0xd4]
push ecx
mov dword [esp + 0xd8], vtable.Grid::CSubscriptionRecord::CValidateFieldsException.0
call fcn.0049e394
push str.Bad_OnSubscribeRunLaunchOption_field_in_CSubscriptionRecord
lea ecx, [esp + 0x100]
call fcn.0040a320
push 0x4f2870
lea edx, [esp + 0x100]
push edx
mov dword [esp + method.common::CMultiFieldBlob::CStringFieldNotTerminatedException.virtual_0], vtable.Grid::CSubscriptionRecord::CValidateFieldsException.0
call fcn.0049e394
mov eax, ebx
and eax, 0x1de
cmp eax, 0x1de
mov byte [esp + 0x25c], 0
mov dword [esp + 0x10], vtable.common::CMultiFieldBlob::index_iterator_impl.0
je 0x42bdbb
lea ecx, [esp + 0x78]
push ebx
push ecx
call fcn.0040deb0
push eax
lea edx, [esp + 0xb0]
push str.Missing_field_in_CSubscriptionRecord:
push edx
mov byte [esp + 0x270], 2
call fcn.00407fc0
add esp, 0x14
mov esi, eax
mov bl, 3
lea ecx, [esp + 0x34]
mov byte [esp + 0x25c], bl
call fcn.0049e7ab
push 0xffffffffffffffff
xor edi, edi
push edi
push esi
lea ecx, [esp + 0x4c]
mov byte [esp + 0x268], 4
mov dword [esp + 0x40], vtable.common::ICloneableException.0
mov dword [esp + 0x64], 0xf
mov dword [esp + 0x60], edi
mov byte [esp + 0x50], 0
call fcn.00405f50
push 0x4f2870
lea eax, [esp + 0x38]
push eax
mov dword [esp + 0x64], edi
mov byte [esp + 0x264], bl
mov dword [esp + 0x3c], vtable.Grid::CSubscriptionRecord::CValidateFieldsException.0
call fcn.0049e394
mov ecx, dword [esp + 0x254]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x250
ret 8