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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2e4
mov eax, dword [0x1822b00c]
xor eax, esp
mov dword [esp + 0x2e0], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov esi, ecx
mov dword [esp + 0x40], ebx
mov eax, dword [ebx]
lea ecx, [esp + 0xe0]
mov dword [esp + 0x50], esi
mov eax, dword [eax + 8]
mov eax, dword [eax + 0xa8]
and dword [esp + 0xf0], 0
add eax, 0x4c
and dword [esp + 0xf4], 0
push eax
call fcn.18020cce
xor eax, eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
lea eax, [esi + 0x4f0]
push eax
call fcn.1819a775
pop ecx
push eax
call fcn.1809aa0f
mov eax, dword [ebx]
pop ecx
add eax, 0x28
mov ecx, esi
push eax
lea eax, [esp + 0x294]
push eax
call fcn.180bc377
mov esi, eax
mov ecx, dword [esi]
mov dword [esp + 0xb8], ecx
mov ecx, dword [esi + 4]
mov dword [esp + 0xbc], ecx
lea ecx, [esi + 8]
push ecx
lea ecx, [esp + 0xc4]
call fcn.180b4f34
add esi, 0x14
lea edi, [esp + 0xcc]
lea ecx, [esp + 0x298]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.1800fc6d
cmp dword [esp + 0xb8], 0
jne 0x180ba6a4
cmp dword [esp + 0xbc], 0
jne 0x180ba6a4
mov eax, dword [esp + 0x50]
add eax, 0x4f0
push eax
call fcn.1819a7d0
pop ecx
push eax
call fcn.1809aa0f
pop ecx
or esi, 0xffffffff
jmp 0x180bbdeb
mov eax, dword [esp + 0x50]
add eax, 0x4f0
push eax
call fcn.1819a7d0
pop ecx
push eax
call fcn.1809aa0f
mov eax, dword [ebx]
mov edx, 0x800000
pop ecx
xor ecx, ecx
push 0x18
cmp dword [eax + 0x44], 1
setg cl
dec ecx
and ecx, edx
add ecx, edx
xor edx, edx
or ecx, dword [eax + 0x68]
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x2c]
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x48]
mov dword [esp + 0x20], ecx
pop ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], edx
mov eax, dword [eax + 8]
add eax, ecx
mov dword [esp + 0x54], edx
push eax
lea ecx, [esp + 0xa4]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], edx
mov dword [esp + 0x28], edx
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb8], edx
call fcn.18020cce
cmp dword [esp + 0xb0], 0
push 0xb
pop eax
jne 0x180ba80f
mov edi, dword [esp + 0xb4]
cmp edi, eax
jb 0x180ba782
lea esi, [esp + 0xa0]
cmp edi, 0x10
jb 0x180ba763
mov esi, dword [esp + 0xa0]
push eax
push str.Unspecified
push esi
mov dword [esp + 0xbc], eax
call fcn.18174ca0
add esp, 0xc
mov byte [esi + 0xb], 0
jmp 0x180ba80f
push 0x7fffffff
push edi
push eax
call fcn.18013091
mov esi, eax
add esp, 0xc
lea ecx, [esi + 1]
push ecx
call fcn.1800a2e0
pop ecx
push 0xb
mov dword [esp + 0x18], eax
pop eax
push eax
mov dword [esp + 0xb8], esi
mov esi, dword [esp + 0x18]
push str.Unspecified
push esi
mov dword [esp + 0xbc], eax
call fcn.18175220
add esp, 0xc
mov byte [esi + 0xb], 0
cmp edi, 0x10
jb 0x180ba808
mov eax, dword [esp + 0xa0]
inc edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], eax
cmp edi, 0x1000
jb 0x180ba7ff
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.18007456
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
pop ecx
pop ecx
push edi
push eax
call fcn.18160b12
pop ecx
pop ecx
mov dword [esp + 0xa0], esi
cmp dword [esp + 0xb4], 0x10
lea esi, [esp + 0xa0]
jb 0x180ba827
mov esi, dword [esp + 0xa0]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], eax
mov byte [esp + 0x10], 0
cmp eax, dword [esp + 0x30]
je 0x180ba848
mov byte [eax], 0
mov eax, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x2c], eax
jmp 0x180ba85b
lea ecx, [esp + 0x10]
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.18063c13
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x10], 0
cmp eax, dword [esp + 0x30]
je 0x180ba86f
mov byte [eax], 0
inc dword [esp + 0x2c]
jmp 0x180ba87e
lea ecx, [esp + 0x10]
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.18063c13
push dword [esp + 0x34]
lea ecx, [esp + 0x24]
call fcn.180bd1cf
mov eax, dword [esp + 0x2c]
mov cl, byte [esi]
mov byte [esp + 0x10], cl
cmp eax, dword [esp + 0x30]
je 0x180ba8a8
mov byte [eax], cl
mov eax, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x2c], eax
jmp 0x180ba8bb
lea ecx, [esp + 0x10]
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.18063c13
mov eax, dword [esp + 0x2c]
cmp byte [esi], 0
je 0x180ba8c3
inc esi
jmp 0x180ba88f
mov eax, dword [ebx]
lea ecx, [esp + 0x60]
push 0xf
pop edi
push edi
mov eax, dword [eax + 8]
push str.DeviceInfo.Make
mov esi, dword [eax + 0x128]
and dword [esp + 0x78], 0
mov dword [esp + 0x7c], edi
mov byte [esp + 0x68], 0
call fcn.1801b1e1
lea eax, [esp + 0x60]
mov ecx, esi
push eax
call fcn.180bcb5e
mov eax, dword [esp + 0x74]
cmp eax, 0x10
jb 0x180ba939
mov ecx, dword [esp + 0x60]
inc eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
cmp eax, 0x1000
jb 0x180ba930
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.18007456
mov eax, dword [esp + 0x1c]
pop ecx
pop ecx
mov ecx, dword [esp + 0x18]
push eax
push ecx
call fcn.18160b12
pop ecx
pop ecx
mov eax, dword [ebx]
push 0x7fffffff
push edi
push 0x10
mov eax, dword [eax + 8]
mov ebx, dword [eax + 0x128]
call fcn.18013091
mov esi, eax
add esp, 0xc
lea ecx, [esi + 1]
push ecx
call fcn.1800a2e0
pop ecx
push 0x10
mov edi, eax
mov dword [esp + 0x78], esi
pop eax
push eax
push str.DeviceInfo.Model
push edi
mov dword [esp + 0x7c], eax
call fcn.18175220
add esp, 0xc
mov byte [edi + 0x10], 0
lea eax, [esp + 0x60]
mov dword [esp + 0x60], edi
mov ecx, ebx
push eax
call fcn.180bcb5e
mov eax, dword [esp + 0x74]
cmp eax, 0x10
jb 0x180ba9cf
mov ecx, dword [esp + 0x60]
inc eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
cmp eax, 0x1000
jb 0x180ba9c6
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.18007456
mov eax, dword [esp + 0x20]
pop ecx
pop ecx
mov ecx, dword [esp + 0x14]
push eax
push ecx
call fcn.18160b12
pop ecx
pop ecx
mov eax, dword [esp + 0x40]
push 0x7fffffff
push 0xf
push 0x11
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov ebx, dword [eax + 0x128]
call fcn.18013091
mov esi, eax
add esp, 0xc
lea ecx, [esi + 1]
push ecx
call fcn.1800a2e0
pop ecx
push 0x11
mov edi, eax
mov dword [esp + 0x78], esi
pop eax
push eax
push str.UserInfo.TimeZone
push edi
mov dword [esp + 0x7c], eax
call fcn.18175220
add esp, 0xc
mov byte [edi + 0x11], 0
lea eax, [esp + 0x60]
mov dword [esp + 0x60], edi
mov ecx, ebx
push eax
call fcn.180bcb5e
mov eax, dword [esp + 0x74]
cmp eax, 0x10
jb 0x180baa6a
mov ecx, dword [esp + 0x60]
inc eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
cmp eax, 0x1000
jb 0x180baa61
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.18007456
mov eax, dword [esp + 0x20]
pop ecx
pop ecx
mov ecx, dword [esp + 0x14]
push eax
push ecx
call fcn.18160b12
pop ecx
pop ecx
mov eax, dword [esp + 0x40]
push 0x7fffffff
push 0xf
push 0x10
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov ebx, dword [eax + 0x128]
call fcn.18013091
mov esi, eax
add esp, 0xc
lea ecx, [esi + 1]
push ecx
call fcn.1800a2e0
pop ecx
push 0x10
mov edi, eax
mov dword [esp + 0x74], 0x10
push str.AppInfo.Language
push edi
mov dword [esp + 0x80], esi
call fcn.18175220
add esp, 0xc
mov byte [edi + 0x10], 0
lea eax, [esp + 0x60]
mov dword [esp + 0x60], edi
mov ecx, ebx
push eax
call fcn.180bcb5e
mov eax, dword [esp + 0x74]
cmp eax, 0x10
jb 0x180bab0a
mov ecx, dword [esp + 0x60]
inc eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
cmp eax, 0x1000
jb 0x180bab01
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.18007456
mov eax, dword [esp + 0x20]
pop ecx
pop ecx
mov ecx, dword [esp + 0x14]
push eax
push ecx
call fcn.18160b12
pop ecx
pop ecx
mov eax, dword [esp + 0x40]
push 0x7fffffff
push 0xf
push 0x10
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov ebx, dword [eax + 0x128]
call fcn.18013091
mov esi, eax
add esp, 0xc
lea ecx, [esi + 1]
push ecx
call fcn.1800a2e0
pop ecx
push 0x10
mov edi, eax
mov dword [esp + 0x78], esi
pop eax
push eax
push str.EventInfo.Source
push edi
mov dword [esp + 0x7c], eax
call fcn.18175220
add esp, 0xc
mov byte [edi + 0x10], 0
lea eax, [esp + 0x60]
mov dword [esp + 0x60], edi
mov ecx, ebx
push eax
call fcn.180bcb5e
mov eax, dword [esp + 0x74]
cmp eax, 0x10
jb 0x180baba5
mov ecx, dword [esp + 0x60]
inc eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
cmp eax, 0x1000
jb 0x180bab9c
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.18007456
mov eax, dword [esp + 0x20]
pop ecx
pop ecx
mov ecx, dword [esp + 0x14]
push eax
push ecx
call fcn.18160b12
pop ecx
pop ecx
mov eax, dword [esp + 0x40]
push 0x7fffffff
push 0xf
push 0x16
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov ebx, dword [eax + 0x128]
call fcn.18013091
mov esi, eax
add esp, 0xc
lea ecx, [esi + 1]
push ecx
call fcn.1800a2e0
pop ecx
push 0x16
mov edi, eax
mov dword [esp + 0x78], esi
pop eax
push eax
push str.UserInfo.AdvertisingId
push edi
mov dword [esp + 0x7c], eax
call fcn.18175220
add esp, 0xc
mov byte [edi + 0x16], 0
lea eax, [esp + 0x60]
mov dword [esp + 0x60], edi
mov ecx, ebx
push eax
call fcn.180bcb5e
mov eax, dword [esp + 0x74]
cmp eax, 0x10
jb 0x180bac40
mov ecx, dword [esp + 0x60]
inc eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
cmp eax, 0x1000
jb 0x180bac37
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.18007456
mov eax, dword [esp + 0x20]
pop ecx
pop ecx
mov ecx, dword [esp + 0x14]
push eax
push ecx
call fcn.18160b12
pop ecx
pop ecx
mov ebx, dword [esp + 0x40]
lea ecx, [esp + 0x60]
push 0xc
push str.AppInfo.ETag
mov eax, dword [ebx]
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
and dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0xf
mov byte [esp + 0x68], 0
call fcn.1801b1e1
lea eax, [esp + 0x60]
mov ecx, esi
push eax
call fcn.180bcb5e
mov eax, dword [esp + 0x74]
cmp eax, 0x10
jb 0x180bacbc
mov ecx, dword [esp + 0x60]
inc eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
cmp eax, 0x1000
jb 0x180bacb3
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.18007456
mov eax, dword [esp + 0x1c]
pop ecx
pop ecx
mov ecx, dword [esp + 0x18]
push eax
push ecx
call fcn.18160b12
pop ecx
pop ecx
mov ecx, dword [ebx]
mov eax, dword [ecx + 8]
cmp dword [eax + 0x70], 0
je 0x180bad73
mov eax, dword [esp + 0x2c]
mov esi, str.__TlgCV__
mov cl, byte [esi]
mov byte [esp + 0x10], cl
cmp eax, dword [esp + 0x30]
je 0x180baced
mov byte [eax], cl
mov eax, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x2c], eax
jmp 0x180bad00
lea ecx, [esp + 0x10]
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.18063c13
mov eax, dword [esp + 0x2c]
cmp byte [esi], 0
je 0x180bad08
inc esi
jmp 0x180bacd4
mov byte [esp + 0x10], 0x82
cmp eax, dword [esp + 0x30]
je 0x180bad21
mov byte [eax], 0x82
mov eax, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x2c], eax
jmp 0x180bad34
lea ecx, [esp + 0x10]
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.18063c13
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x10], 0x23
cmp eax, dword [esp + 0x30]
je 0x180bad48
mov byte [eax], 0x23
inc dword [esp + 0x2c]
jmp 0x180bad57
lea ecx, [esp + 0x10]
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.18063c13
mov eax, dword [ebx]
mov eax, dword [eax + 8]
add eax, 0x60
cmp dword [eax + 0x14], 0x10
jb 0x180bad67
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x20]
call fcn.180bc9d2
mov ecx, dword [ebx]
mov eax, dword [ecx + 8]
push 0x7fffffff
push 0xf
push 0x12
mov edi, dword [eax + 0x128]
call fcn.18013091
mov esi, eax
add esp, 0xc
lea ecx, [esi + 1]
push ecx
call fcn.1800a2e0
pop ecx
push 0x12
mov dword [esp + 0x38], eax
pop eax
push eax
mov dword [esp + 0x78], esi
mov esi, dword [esp + 0x38]
push str.EventInfo.PrivTags
push esi
mov dword [esp + 0x7c], eax
call fcn.18175220
add esp, 0xc
mov byte [esi + 0x12], 0
lea eax, [esp + 0x60]
mov dword [esp + 0x60], esi
mov ecx, edi
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.1809ca5d
mov ecx, dword [ebx]
mov eax, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x74]
mov ecx, dword [ecx + 0x128]
mov edi, dword [ecx]
cmp eax, 0x10
jb 0x180bae22
inc eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], eax
cmp eax, 0x1000
jb 0x180bae19
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.18007456
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
pop ecx
pop ecx
push eax
push esi
call fcn.18160b12
pop ecx
pop ecx
cmp dword [esp + 0x34], edi
je 0x180baef7
mov eax, dword [esp + 0x2c]
mov esi, str.PartA_PrivTags
mov cl, byte [esi]
mov byte [esp + 0x10], cl
cmp eax, dword [esp + 0x30]
je 0x180bae4e
mov byte [eax], cl
mov eax, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x2c], eax
jmp 0x180bae61
lea ecx, [esp + 0x10]
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.18063c13
mov eax, dword [esp + 0x2c]
cmp byte [esi], 0
je 0x180bae69
inc esi
jmp 0x180bae35
mov byte [esp + 0x10], 0xa
cmp eax, dword [esp + 0x30]
je 0x180bae7d
mov byte [eax], 0xa
inc dword [esp + 0x2c]
jmp 0x180bae8c
lea ecx, [esp + 0x10]
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.18063c13
mov eax, dword [ebx]
lea ecx, [esp + 0x60]
push str.EventInfo.PrivTags
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
xor eax, eax
mov byte [esp + 0x38], al
push dword [esp + 0x38]
mov dword [esp + 0x78], eax
push 0x12
mov dword [esp + 0x80], 0xf
mov byte [esp + 0x6c], al
call fcn.1801b2ad
lea eax, [esp + 0x60]
mov ecx, esi
push eax
call fcn.180bcaec
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x60]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x3c], eax
call fcn.18012edc
push 8
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x24]
call fcn.180bc9b4
push str.PartA_iKey
lea ecx, [esp + 0x24]
call fcn.180bd212
push ecx
mov edi, 0x2302
lea ecx, [esp + 0x24]
push edi
push 0
call fcn.180bd182
push str.P_ARIA_
lea ecx, [esp + 0x144]
call fcn.1801b19d
mov eax, dword [ebx]
lea ecx, [esp + 0x140]
add eax, 0x28
push eax
call fcn.18020c16
push 0x10
pop esi
lea eax, [esp + 0x140]
cmp dword [esp + 0x154], esi
jb 0x180baf54
mov eax, dword [esp + 0x140]
push eax
lea ecx, [esp + 0x20]
call fcn.180bc9d2
cmp dword [esp + 0xf0], 0
je 0x180bafa4
push str.PartA_Ext_App_Name
lea ecx, [esp + 0x24]
call fcn.180bd212
push ecx
push edi
push 0
lea ecx, [esp + 0x2c]
call fcn.180bd182
lea eax, [esp + 0xe0]
cmp dword [esp + 0xf4], esi
jb 0x180baf9a
mov eax, dword [esp + 0xe0]
push eax
lea ecx, [esp + 0x20]
call fcn.180bc9d2
mov eax, dword [ebx]
lea ecx, [esp + 0x128]
mov eax, dword [eax + 8]
push dword [eax + 0xa8]
call fcn.18020c58
cmp dword [esp + 0x138], 0
je 0x180bb001
push str.PartA_Ext_App_ExpId
lea ecx, [esp + 0x24]
call fcn.180bd212
push ecx
push edi
push 0
lea ecx, [esp + 0x2c]
call fcn.180bd182
lea eax, [esp + 0x128]
cmp dword [esp + 0x13c], esi
jb 0x180baff7
mov eax, dword [esp + 0x128]
push eax
lea ecx, [esp + 0x20]
call fcn.180bc9d2
mov eax, dword [ebx]
lea ecx, [esp + 0x110]
mov eax, dword [eax + 8]
push dword [eax + 0xc0]
call fcn.18020c58
cmp dword [esp + 0x120], 0
je 0x180bb05e
push str.PartA_Ext_Net_Provider
lea ecx, [esp + 0x24]
call fcn.180bd212
push ecx
push edi
push 0
lea ecx, [esp + 0x2c]
call fcn.180bd182
lea eax, [esp + 0x110]
cmp dword [esp + 0x124], esi
jb 0x180bb054
mov eax, dword [esp + 0x110]
push eax
lea ecx, [esp + 0x20]
call fcn.180bc9d2
mov eax, dword [ebx]
lea ecx, [esp + 0xf8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0xc0]
add eax, 0x18
push eax
call fcn.18020c58
cmp dword [esp + 0x108], 0
je 0x180bb0bf
push str.PartA_Ext_Net_Cost
lea ecx, [esp + 0x24]
call fcn.180bd212
push ecx
push edi
push 0
lea ecx, [esp + 0x2c]
call fcn.180bd182
lea eax, [esp + 0xf8]
cmp dword [esp + 0x10c], esi
jb 0x180bb0b5
mov eax, dword [esp + 0xf8]
push eax
lea ecx, [esp + 0x20]
call fcn.180bc9d2
mov eax, dword [ebx]
lea ecx, [esp + 0x170]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0xc0]
add eax, 0x30
push eax
call fcn.18020c58
cmp dword [esp + 0x180], 0
je 0x180bb120
push str.PartA_Ext_Net_Type
lea ecx, [esp + 0x24]
call fcn.180bd212
push ecx
push edi
push 0
lea ecx, [esp + 0x2c]
call fcn.180bd182
lea eax, [esp + 0x170]
cmp dword [esp + 0x184], esi
jb 0x180bb116
mov eax, dword [esp + 0x170]
push eax
lea ecx, [esp + 0x20]
call fcn.180bc9d2
mov eax, dword [ebx]
lea ecx, [esp + 0x188]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x84]
add eax, 0x18
push eax
call fcn.18020c58
cmp dword [esp + 0x198], 0
je 0x180bb1a0
push 0x18213d88
lea ecx, [esp + 0x64]
call fcn.1801b19d
lea eax, [esp + 0x188]
push eax
lea ecx, [esp + 0x64]
call fcn.18020c16
push str.PartA_Ext_App_UserId
lea ecx, [esp + 0x24]
call fcn.180bd212
push ecx
push edi
push 0
lea ecx, [esp + 0x2c]
call fcn.180bd182
lea eax, [esp + 0x60]
cmp dword [esp + 0x74], esi
jb 0x180bb18d
mov eax, dword [esp + 0x60]
push eax
lea ecx, [esp + 0x20]
call fcn.180bc9d2
lea ecx, [esp + 0x60]
call fcn.18012edc
mov eax, dword [ebx]
lea ecx, [esp + 0x158]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x84]
add eax, 0x48
push eax
call fcn.18020c58
cmp dword [esp + 0x168], 0
je 0x180bb201
push str.PartA_Ext_Os_Locale
lea ecx, [esp + 0x24]
call fcn.180bd212
push ecx
push edi
push 0
lea ecx, [esp + 0x2c]
call fcn.180bd182
lea eax, [esp + 0x158]
cmp dword [esp + 0x16c], esi
jb 0x180bb1f7
mov eax, dword [esp + 0x158]
push eax
lea ecx, [esp + 0x20]
call fcn.180bc9d2
mov eax, dword [ebx]
lea ecx, [esp + 0x60]
push str.MetaData.ViewingProducerId
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
call fcn.1801b19d
lea eax, [esp + 0x60]
mov ecx, esi
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.1809ca5d
mov ecx, dword [ebx]
mov esi, dword [eax]
mov ecx, dword [ecx + 8]
mov ecx, dword [ecx + 0x128]
mov edi, dword [ecx]
lea ecx, [esp + 0x60]
call fcn.18012edc
cmp esi, edi
je 0x180bb2c3
push str.UTCMetadata_ViewingProducerId
lea ecx, [esp + 0x24]
call fcn.180bd212
push ecx
push 0x2302
push 0
lea ecx, [esp + 0x2c]
call fcn.180bd182
mov eax, dword [ebx]
lea ecx, [esp + 0x78]
push str.MetaData.ViewingProducerId
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
call fcn.1801b19d
lea eax, [esp + 0x78]
mov ecx, esi
push eax
call fcn.180bcaec
add eax, 0x10
lea ecx, [esp + 0x60]
push eax
call fcn.18020c58
lea ecx, [esp + 0x78]
call fcn.18012edc
cmp dword [esp + 0x74], 0x10
lea eax, [esp + 0x60]
jb 0x180bb2b0
mov eax, dword [esp + 0x60]
push eax
lea ecx, [esp + 0x20]
call fcn.180bc9d2
lea ecx, [esp + 0x60]
call fcn.18012edc
mov eax, dword [ebx]
lea ecx, [esp + 0x78]
push str.MetaData.ViewingCategory
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
call fcn.1801b19d
lea eax, [esp + 0x78]
mov ecx, esi
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.1809ca5d
mov ecx, dword [ebx]
mov esi, dword [eax]
mov ecx, dword [ecx + 8]
mov ecx, dword [ecx + 0x128]
mov edi, dword [ecx]
lea ecx, [esp + 0x78]
call fcn.18012edc
cmp esi, edi
je 0x180bb385
push str.UTCMetadata_ViewingCategory
lea ecx, [esp + 0x24]
call fcn.180bd212
push ecx
push 0x2302
push 0
lea ecx, [esp + 0x2c]
call fcn.180bd182
mov eax, dword [ebx]
lea ecx, [esp + 0x78]
push str.MetaData.ViewingCategory
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
call fcn.1801b19d
lea eax, [esp + 0x78]
mov ecx, esi
push eax
call fcn.180bcaec
add eax, 0x10
lea ecx, [esp + 0x60]
push eax
call fcn.18020c58
lea ecx, [esp + 0x78]
call fcn.18012edc
cmp dword [esp + 0x74], 0x10
lea eax, [esp + 0x60]
jb 0x180bb372
mov eax, dword [esp + 0x60]
push eax
lea ecx, [esp + 0x20]
call fcn.180bc9d2
lea ecx, [esp + 0x60]
call fcn.18012edc
mov eax, dword [ebx]
lea ecx, [esp + 0x78]
push str.MetaData.ViewingPayloadDecoderPath
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
call fcn.1801b19d
lea eax, [esp + 0x78]
mov ecx, esi
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.1809ca5d
mov ecx, dword [ebx]
mov esi, dword [eax]
mov ecx, dword [ecx + 8]
mov ecx, dword [ecx + 0x128]
mov edi, dword [ecx]
lea ecx, [esp + 0x78]
call fcn.18012edc
cmp esi, edi
je 0x180bb447
push str.UTCMetadata_ViewingPayloadDecoderPath
lea ecx, [esp + 0x24]
call fcn.180bd212
push ecx
push 0x2302
push 0
lea ecx, [esp + 0x2c]
call fcn.180bd182
mov eax, dword [ebx]
lea ecx, [esp + 0x78]
push str.MetaData.ViewingPayloadDecoderPath
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
call fcn.1801b19d
lea eax, [esp + 0x78]
mov ecx, esi
push eax
call fcn.180bcaec
add eax, 0x10
lea ecx, [esp + 0x60]
push eax
call fcn.18020c58
lea ecx, [esp + 0x78]
call fcn.18012edc
cmp dword [esp + 0x74], 0x10
lea eax, [esp + 0x60]
jb 0x180bb434
mov eax, dword [esp + 0x60]
push eax
lea ecx, [esp + 0x20]
call fcn.180bc9d2
lea ecx, [esp + 0x60]
call fcn.18012edc
mov eax, dword [ebx]
lea ecx, [esp + 0x78]
push str.MetaData.ViewingPayloadEncodedFieldName
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
call fcn.1801b19d
lea eax, [esp + 0x78]
mov ecx, esi
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.1809ca5d
mov ecx, dword [ebx]
mov esi, dword [eax]
mov ecx, dword [ecx + 8]
mov ecx, dword [ecx + 0x128]
mov edi, dword [ecx]
lea ecx, [esp + 0x78]
call fcn.18012edc
cmp esi, edi
je 0x180bb509
push str.UTCMetadata_ViewingPayloadEncodedFieldName
lea ecx, [esp + 0x24]
call fcn.180bd212
push ecx
push 0x2302
push 0
lea ecx, [esp + 0x2c]
call fcn.180bd182
mov eax, dword [ebx]
lea ecx, [esp + 0x78]
push str.MetaData.ViewingPayloadEncodedFieldName
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
call fcn.1801b19d
lea eax, [esp + 0x78]
mov ecx, esi
push eax
call fcn.180bcaec
add eax, 0x10
lea ecx, [esp + 0x60]
push eax
call fcn.18020c58
lea ecx, [esp + 0x78]
call fcn.18012edc
cmp dword [esp + 0x74], 0x10
lea eax, [esp + 0x60]
jb 0x180bb4f6
mov eax, dword [esp + 0x60]
push eax
lea ecx, [esp + 0x20]
call fcn.180bc9d2
lea ecx, [esp + 0x60]
call fcn.18012edc
mov eax, dword [ebx]
lea ecx, [esp + 0x78]
push str.MetaData.ViewingExtra1
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
call fcn.1801b19d
lea eax, [esp + 0x78]
mov ecx, esi
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.1809ca5d
mov ecx, dword [ebx]
mov esi, dword [eax]
mov ecx, dword [ecx + 8]
mov ecx, dword [ecx + 0x128]
mov edi, dword [ecx]
lea ecx, [esp + 0x78]
call fcn.18012edc
cmp esi, edi
je 0x180bb5cb
push str.UTCMetadata_ViewingExtra1
lea ecx, [esp + 0x24]
call fcn.180bd212
push ecx
push 0x2302
push 0
lea ecx, [esp + 0x2c]
call fcn.180bd182
mov eax, dword [ebx]
lea ecx, [esp + 0x78]
push str.MetaData.ViewingExtra1
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
call fcn.1801b19d
lea eax, [esp + 0x78]
mov ecx, esi
push eax
call fcn.180bcaec
add eax, 0x10
lea ecx, [esp + 0x60]
push eax
call fcn.18020c58
lea ecx, [esp + 0x78]
call fcn.18012edc
cmp dword [esp + 0x74], 0x10
lea eax, [esp + 0x60]
jb 0x180bb5b8
mov eax, dword [esp + 0x60]
push eax
lea ecx, [esp + 0x20]
call fcn.180bc9d2
lea ecx, [esp + 0x60]
call fcn.18012edc
mov eax, dword [ebx]
lea ecx, [esp + 0x78]
push str.MetaData.ViewingExtra2
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
call fcn.1801b19d
lea eax, [esp + 0x78]
mov ecx, esi
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.1809ca5d
mov ecx, dword [ebx]
mov esi, dword [eax]
mov ecx, dword [ecx + 8]
mov ecx, dword [ecx + 0x128]
mov edi, dword [ecx]
lea ecx, [esp + 0x78]
call fcn.18012edc
cmp esi, edi
je 0x180bb68d
push str.UTCMetadata_ViewingExtra2
lea ecx, [esp + 0x24]
call fcn.180bd212
push ecx
push 0x2302
push 0
lea ecx, [esp + 0x2c]
call fcn.180bd182
mov eax, dword [ebx]
lea ecx, [esp + 0x78]
push str.MetaData.ViewingExtra2
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
call fcn.1801b19d
lea eax, [esp + 0x78]
mov ecx, esi
push eax
call fcn.180bcaec
add eax, 0x10
lea ecx, [esp + 0x60]
push eax
call fcn.18020c58
lea ecx, [esp + 0x78]
call fcn.18012edc
cmp dword [esp + 0x74], 0x10
lea eax, [esp + 0x60]
jb 0x180bb67a
mov eax, dword [esp + 0x60]
push eax
lea ecx, [esp + 0x20]
call fcn.180bc9d2
lea ecx, [esp + 0x60]
call fcn.18012edc
mov eax, dword [ebx]
lea ecx, [esp + 0x78]
push str.MetaData.ViewingExtra3
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
call fcn.1801b19d
lea eax, [esp + 0x78]
mov ecx, esi
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.1809ca5d
mov ecx, dword [ebx]
mov esi, dword [eax]
mov ecx, dword [ecx + 8]
mov ecx, dword [ecx + 0x128]
mov edi, dword [ecx]
lea ecx, [esp + 0x78]
call fcn.18012edc
cmp esi, edi
je 0x180bb74f
push str.UTCMetadata_ViewingExtra3
lea ecx, [esp + 0x24]
call fcn.180bd212
push ecx
push 0x2302
push 0
lea ecx, [esp + 0x2c]
call fcn.180bd182
mov eax, dword [ebx]
lea ecx, [esp + 0x78]
push str.MetaData.ViewingExtra3
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
call fcn.1801b19d
lea eax, [esp + 0x78]
mov ecx, esi
push eax
call fcn.180bcaec
add eax, 0x10
lea ecx, [esp + 0x60]
push eax
call fcn.18020c58
lea ecx, [esp + 0x78]
call fcn.18012edc
cmp dword [esp + 0x74], 0x10
lea eax, [esp + 0x60]
jb 0x180bb73c
mov eax, dword [esp + 0x60]
push eax
lea ecx, [esp + 0x20]
call fcn.180bc9d2
lea ecx, [esp + 0x60]
call fcn.18012edc
mov eax, dword [ebx]
lea ecx, [esp + 0x78]
push str.UserInfo.MsaId
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
call fcn.1801b19d
lea eax, [esp + 0x78]
mov ecx, esi
push eax
call fcn.180bcb5e
lea ecx, [esp + 0x78]
call fcn.18012edc
mov eax, dword [ebx]
lea ecx, [esp + 0x78]
push str.DeviceInfo.Id
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
call fcn.1801b19d
lea eax, [esp + 0x78]
mov ecx, esi
push eax
call fcn.180bcb5e
lea ecx, [esp + 0x78]
call fcn.18012edc
mov eax, dword [ebx]
lea ecx, [esp + 0x78]
push str.DeviceInfo.OsName
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
call fcn.1801b19d
lea eax, [esp + 0x78]
mov ecx, esi
push eax
call fcn.180bcb5e
lea ecx, [esp + 0x78]
call fcn.18012edc
mov eax, dword [ebx]
lea ecx, [esp + 0x78]
push str.DeviceInfo.OsVersion
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
call fcn.1801b19d
lea eax, [esp + 0x78]
mov ecx, esi
push eax
call fcn.180bcb5e
lea ecx, [esp + 0x78]
call fcn.18012edc
mov eax, dword [ebx]
lea ecx, [esp + 0x78]
push str.DeviceInfo.OsBuild
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
call fcn.1801b19d
lea eax, [esp + 0x78]
mov ecx, esi
push eax
call fcn.180bcb5e
lea ecx, [esp + 0x78]
call fcn.18012edc
mov eax, dword [ebx]
lea ecx, [esp + 0x78]
push str.EventInfo.Time
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
call fcn.1801b19d
lea eax, [esp + 0x78]
mov ecx, esi
push eax
call fcn.180bcb5e
lea ecx, [esp + 0x78]
call fcn.18012edc
mov eax, dword [ebx]
lea ecx, [esp + 0x60]
push str.UserInfo.ANID
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
call fcn.1801b19d
lea eax, [esp + 0x60]
mov ecx, esi
push eax
call fcn.180bcb5e
lea ecx, [esp + 0x60]
call fcn.18012edc
mov eax, dword [ebx]
lea ecx, [esp + 0x1a0]
push str.AppInfo.Version
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
call fcn.1801b19d
lea eax, [esp + 0x1a0]
mov ecx, esi
push eax
call fcn.180bcb5e
lea ecx, [esp + 0x1a0]
call fcn.18012edc
mov eax, dword [ebx]
lea ecx, [esp + 0x1b8]
push str.EventInfo.Name
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
call fcn.1801b19d
lea eax, [esp + 0x1b8]
mov ecx, esi
push eax
call fcn.180bcb5e
lea ecx, [esp + 0x1b8]
call fcn.18012edc
mov eax, dword [ebx]
lea ecx, [esp + 0x1d0]
push str.EventInfo.InitId
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
call fcn.1801b19d
lea eax, [esp + 0x1d0]
mov ecx, esi
push eax
call fcn.180bcb5e
lea ecx, [esp + 0x1d0]
call fcn.18012edc
mov eax, dword [ebx]
lea ecx, [esp + 0x1e8]
push str.EventInfo.PrivTags
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
call fcn.1801b19d
lea eax, [esp + 0x1e8]
mov ecx, esi
push eax
call fcn.180bcb5e
lea ecx, [esp + 0x1e8]
call fcn.18012edc
mov eax, dword [ebx]
lea ecx, [esp + 0x200]
push str.MetaData.ViewingProducerId
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
call fcn.1801b19d
lea eax, [esp + 0x200]
mov ecx, esi
push eax
call fcn.180bcb5e
lea ecx, [esp + 0x200]
call fcn.18012edc
mov eax, dword [ebx]
lea ecx, [esp + 0x218]
push str.MetaData.ViewingCategory
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
call fcn.1801b19d
lea eax, [esp + 0x218]
mov ecx, esi
push eax
call fcn.180bcb5e
lea ecx, [esp + 0x218]
call fcn.18012edc
mov eax, dword [ebx]
lea ecx, [esp + 0x230]
push str.MetaData.ViewingPayloadDecoderPath
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
call fcn.1801b19d
lea eax, [esp + 0x230]
mov ecx, esi
push eax
call fcn.180bcb5e
lea ecx, [esp + 0x230]
call fcn.18012edc
mov eax, dword [ebx]
lea ecx, [esp + 0x248]
push str.MetaData.ViewingPayloadEncodedFieldName
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
call fcn.1801b19d
lea eax, [esp + 0x248]
mov ecx, esi
push eax
call fcn.180bcb5e
lea ecx, [esp + 0x248]
call fcn.18012edc
mov eax, dword [ebx]
lea ecx, [esp + 0x260]
push str.MetaData.ViewingExtra1
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
call fcn.1801b19d
lea eax, [esp + 0x260]
mov ecx, esi
push eax
call fcn.180bcb5e
lea ecx, [esp + 0x260]
call fcn.18012edc
mov eax, dword [ebx]
lea ecx, [esp + 0x278]
push str.MetaData.ViewingExtra2
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
call fcn.1801b19d
lea eax, [esp + 0x278]
mov ecx, esi
push eax
call fcn.180bcb5e
lea ecx, [esp + 0x278]
call fcn.18012edc
mov eax, dword [ebx]
lea ecx, [esp + 0x290]
push str.MetaData.ViewingExtra3
mov eax, dword [eax + 8]
mov esi, dword [eax + 0x128]
call fcn.1801b19d
lea eax, [esp + 0x290]
mov ecx, esi
push eax
call fcn.180bcb5e
lea ecx, [esp + 0x290]
call fcn.18012edc
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x5c]
push eax
mov eax, dword [ebx]
mov eax, dword [eax + 8]
add eax, 0xf0
push eax
call fcn.180bbe1c
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x5c]
push eax
mov eax, dword [ebx]
mov eax, dword [eax + 8]
add eax, 0x11c
push eax
call fcn.180bbe1c
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x5c]
push eax
mov eax, dword [ebx]
mov eax, dword [eax + 8]
add eax, 0x128
push eax
call fcn.180bbe1c
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 0x54]
sub eax, esi
push 0x18
cdq
pop ecx
idiv ecx
mov edi, eax
test edi, edi
je 0x180bbbc3
push ecx
push ecx
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x2c]
call fcn.180bcea5
push str.fields
lea ecx, [esp + 0x3c]
call fcn.180bd212
push ecx
push 0x2302
push 0x20
lea ecx, [esp + 0x44]
call fcn.180bd182
push edi
lea ecx, [esp + 0x3c]
call fcn.180bcc22
cmp esi, dword [esp + 0x58]
je 0x180bbbc3
push 0x18
pop ebx
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x180bbbad
mov eax, dword [esi]
push eax
lea ecx, [esp + 0x20]
call fcn.180bc9d2
add esi, ebx
cmp esi, dword [esp + 0x58]
jne 0x180bbba3
mov ebx, dword [esp + 0x40]
lea ecx, [esp + 0x20]
call fcn.180bcc51
test al, al
je 0x180bbd31
mov ecx, dword [ebx]
mov esi, 0x8000
mov dword [esp + 0x90], 0xb000000
xor ebx, ebx
mov dword [esp + 0x94], 5
mov eax, dword [ecx + 0x68]
mov edx, dword [ecx + 0x6c]
mov ecx, edx
mov dword [esp + 0x20], eax
and ecx, esi
mov eax, ebx
or eax, ecx
je 0x180bbc10
mov dword [esp + 0x9c], esi
jmp 0x180bbc2f
mov ecx, 0x2000
mov eax, ebx
and edx, ecx
mov dword [esp + 0x9c], ecx
or eax, edx
jne 0x180bbc2f
mov dword [esp + 0x9c], 0x4000
mov esi, dword [esp + 0x48]
mov eax, esi
mov edx, dword [esp + 0x44]
mov ecx, esi
sub ecx, dword [esp + 0xc0]
sub eax, edx
mov edi, dword [esp + 0x28]
sub ecx, edi
sub ecx, edx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x2dc], ebx
mov dword [esp + 0x2e4], ebx
mov ebx, dword [esp + 0x2c]
add ecx, ebx
add ecx, dword [esp + 0xc4]
mov dword [esp + 0x2e0], eax
xor eax, eax
add ecx, 0x3ff
mov dword [esp + 0x2d8], edx
adc eax, eax
and ecx, 0xfffffc00
test eax, eax
ja 0x180bbce9
jb 0x180bbc9a
cmp ecx, 0xf800
jae 0x180bbce9
mov edx, dword [esp + 0xc0]
lea eax, [esp + 0x2b8]
push ecx
push ecx
push eax
push ecx
push edi
push dword [esp + 0xd0]
lea ecx, [esp + 0xa8]
push dword [esp + 0xd0]
call fcn.180ba037
add esp, 0x1c
test eax, eax
jne 0x180bbcd2
xor esi, esi
jmp 0x180bbd34
cmp eax, 0x80070216
jne 0x180bbd31
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
push ecx
push ecx
sub esi, edx
lea ecx, [esp + 0x98]
push ecx
push edx
push esi
push edi
sub ebx, edi
mov ecx, dword [esp + 0x68]
movzx eax, bx
lea esi, [esp + 0xe4]
push eax
push dword [esp + 0xdc]
mov eax, dword [esp + 0xe4]
sub eax, dword [esp + 0xe0]
push eax
sub esp, 0x10
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.180ba2a7
test eax, eax
jns 0x180bbd38
or esi, 0xffffffff
xor ebx, ebx
jmp 0x180bbd3c
xor ebx, ebx
mov esi, ebx
lea ecx, [esp + 0x158]
call fcn.18012edc
lea ecx, [esp + 0x188]
call fcn.18012edc
lea ecx, [esp + 0x170]
call fcn.18012edc
lea ecx, [esp + 0xf8]
call fcn.18012edc
lea ecx, [esp + 0x110]
call fcn.18012edc
lea ecx, [esp + 0x128]
call fcn.18012edc
lea ecx, [esp + 0x140]
call fcn.18012edc
lea ecx, [esp + 0xa0]
call fcn.18012edc
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x180bbdbf
mov eax, dword [esp + 0x4c]
sub eax, ecx
push eax
push ecx
call fcn.1800a110
pop ecx
pop ecx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x180bbde2
mov eax, dword [esp + 0x30]
sub eax, ecx
push eax
push ecx
call fcn.1800a110
pop ecx
pop ecx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
lea ecx, [esp + 0x54]
call fcn.18073fca
lea ecx, [esp + 0xc0]
call fcn.1800fc6d
lea ecx, [esp + 0xe0]
call fcn.18012edc
mov ecx, dword [esp + 0x2ec]
mov eax, esi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.181605f4
mov esp, ebp
pop ebp
ret 4