Function at 0x10002430
Capabilities:
Encode data using base64
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10015d39
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xe98
push ebx
push esi
mov ebx, ecx
push edi
mov dword [esp + 0x18], ebx
xor edi, edi
mov dword [esp + 0xeac], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x78], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x80], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x54], edi
push edi
lea ecx, [esp + 0x8c]
mov byte [esp + 0xeb0], 0x10
call fcn.1000a6b0
mov eax, dword [ebp + 0xc]
push eax
mov byte [esp + 0xeb0], 0x11
call dword [sym.imp.ulrttd8.dll_public:_static_class_UltraLite_DatabaseUpgrade____cdecl_UltraLite_DatabaseUpgrade::NewDatabaseUpgrade_class_UltraLite_Connection__]
mov edx, dword [eax]
add esp, 4
mov ecx, eax
mov dword [esp + 0x60], eax
call dword [edx + 4]
mov esi, dword [ebp + 8]
cmp esi, edi
jne 0x100024f9
push 0x8e
push str.D:mvstudio.netVC7_atlmfcinclude_atlcomcli.h
push str.p_0
call fcn.1000a430
add esp, 0xc
mov eax, dword [0x1003f5f8]
cmp eax, edi
je 0x10002506
mov eax, dword [eax]
jmp 0x10002508
xor eax, eax
mov ecx, dword [esi]
lea edx, [esp + 0x38]
push edx
push eax
push esi
call dword [ecx + 0xbc]
cmp eax, edi
jge 0x10002540
mov eax, dword [ebx]
cmp eax, edi
je 0x1000252a
push eax
call fcn.1000a480
add esp, 4
push edi
push edi
push edi
push edi
push 0x1788
push ebx
mov ecx, ebx
call sym.ulxml8.dll_private:_void___thiscall_UlXml::SetErrorMsg_char____unsigned_int__char_const___char_const___char_const___char_const__
jmp 0x100050a8
cmp dword [esp + 0x38], edi
je 0x100050a8
push 0x100177a8
mov word [esp + 0x94], 8
call fcn.1000bb10
mov dword [esp + 0x98], eax
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x94]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x38]
test eax, eax
mov byte [esp + 0xeac], 0x12
jne 0x100025b3
push 0x8e
push str.D:mvstudio.netVC7_atlmfcinclude_atlcomcli.h
push str.p_0
call fcn.1000a430
mov eax, dword [esp + 0x44]
add esp, 0xc
mov ecx, dword [0x1003f5d8]
test ecx, ecx
je 0x100025c1
mov ecx, dword [ecx]
jmp 0x100025c3
xor ecx, ecx
mov edx, dword [eax]
sub esp, 0x10
mov ebx, esp
mov dword [ebx], esi
mov esi, dword [esp + 0xb8]
mov dword [ebx + 4], edi
mov dword [ebx + 8], esi
mov esi, dword [esp + 0xbc]
push ecx
push eax
mov dword [ebx + 0xc], esi
call dword [edx + 0xb4]
mov esi, eax
lea eax, [esp + 0x90]
push eax
mov byte [esp + 0xeb0], 0x11
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
jge 0x1000260d
push eax
call fcn.1000bb00
test esi, esi
jge 0x1000263e
mov esi, dword [esp + 0x18]
mov eax, dword [esi]
test eax, eax
je 0x10002624
push eax
call fcn.1000a480
add esp, 4
push 0
push 0
push 0
push 0
push 0x1788
push esi
mov ecx, esi
call sym.ulxml8.dll_private:_void___thiscall_UlXml::SetErrorMsg_char____unsigned_int__char_const___char_const___char_const___char_const__
jmp 0x100050a8
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx]
lea eax, [esp + 0x130]
push eax
call dword [edx + 0x78]
push pe_nt_image_headers32
lea ecx, [esp + 0x4e4]
push ecx
mov ecx, eax
mov byte [esp + 0xeb4], 0x13
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::GetString_char___unsigned_short_int_const]
lea ecx, [esp + 0x130]
mov byte [esp + 0xeac], 0x11
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::destructor_void_]
mov eax, dword [0x1003f598]
test eax, eax
je 0x1000268e
mov eax, dword [eax]
jmp 0x10002690
xor eax, eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
lea esi, [esp + 0x58]
push esi
push eax
push ecx
call dword [edx + 0xbc]
test eax, eax
jl 0x10005092
lea eax, [esp + 0x4e0]
push eax
mov word [esp + 0x94], 8
call fcn.1000bb10
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0x9c]
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x94]
mov dword [esp + 0xbc], ecx
lea ecx, [esp + 0x58]
mov byte [esp + 0xeac], 0x14
mov ebx, eax
call fcn.10001800
mov ecx, dword [0x1003f614]
test ecx, ecx
je 0x10002709
mov edx, dword [ecx]
mov dword [esp + 0x10], edx
jmp 0x10002711
mov dword [esp + 0x10], 0
mov ecx, dword [eax]
sub esp, 0x10
mov edx, esp
mov dword [edx], esi
mov esi, dword [esp + 0xcc]
mov dword [edx + 4], edi
mov dword [edx + 8], ebx
mov dword [edx + 0xc], esi
mov edx, dword [esp + 0x20]
push edx
push eax
call dword [ecx + 0xb4]
mov esi, eax
lea eax, [esp + 0x90]
push eax
mov byte [esp + 0xeb0], 0x11
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
jge 0x10002758
push eax
call fcn.1000bb00
test esi, esi
jl 0x10005092
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx]
call dword [edx + 0x7c]
test al, al
lea ecx, [esp + 0xd0]
je 0x100027d8
push 0x100177a4
call fcn.10001830
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov ebx, dword [eax + 8]
mov eax, dword [eax + 0xc]
lea ecx, [esp + 0x58]
mov byte [esp + 0xeac], 0x15
mov dword [esp + 0xbc], eax
call fcn.10001800
mov ecx, dword [0x1003f57c]
test ecx, ecx
je 0x100027b3
mov ecx, dword [ecx]
mov dword [esp + 0x10], ecx
jmp 0x100027bb
mov dword [esp + 0x10], 0
sub esp, 0x10
mov ecx, esp
mov dword [ecx], esi
mov esi, dword [esp + 0xcc]
mov dword [ecx + 4], edi
mov dword [ecx + 8], ebx
mov dword [ecx + 0xc], esi
mov ecx, dword [esp + 0x20]
jmp 0x1000283a
push 0x100177a0
call fcn.10001830
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov esi, dword [eax + 8]
mov eax, dword [eax + 0xc]
lea ecx, [esp + 0x58]
mov byte [esp + 0xeac], 0x16
mov dword [esp + 0xbc], eax
call fcn.10001800
mov ecx, dword [0x1003f57c]
test ecx, ecx
je 0x10002817
mov ecx, dword [ecx]
mov dword [esp + 0x10], ecx
jmp 0x1000281f
mov dword [esp + 0x10], 0
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edi
mov dword [ecx + 4], ebx
mov dword [ecx + 8], esi
mov esi, dword [esp + 0xcc]
mov dword [ecx + 0xc], esi
mov ecx, dword [esp + 0x20]
mov edx, dword [eax]
push ecx
push eax
call dword [edx + 0xb4]
lea edx, [esp + 0xd0]
push edx
mov edi, eax
mov byte [esp + 0xeb0], 0x11
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
jge 0x10002866
push eax
call fcn.1000bb00
test edi, edi
jl 0x10005092
lea ecx, [esp + 0x38]
call fcn.10001800
mov edx, dword [esp + 0x58]
mov ecx, dword [eax]
push 0
push edx
push eax
call dword [ecx + 0x54]
test eax, eax
jl 0x10005092
lea ecx, [ebp + 8]
call fcn.10001800
mov ecx, dword [0x1003f574]
test ecx, ecx
je 0x100028a2
mov ecx, dword [ecx]
jmp 0x100028a4
xor ecx, ecx
mov edx, dword [eax]
lea esi, [esp + 0x44]
push esi
push ecx
push eax
call dword [edx + 0xbc]
test eax, eax
jl 0x10005092
push ecx
lea eax, [esp + 0x48]
mov ecx, esp
mov dword [esp + 0x30], esp
push eax
call fcn.10001bf0
push ecx
lea edx, [ebp + 8]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.10001bf0
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 8]
add esi, 8
lea ecx, [esp + 0x1d8]
push ecx
mov ecx, esi
mov byte [esp + 0xeb8], 0x18
mov dword [esp + 0x90], esi
call dword [eax + 0x20]
mov edi, dword [esp + 0x20]
push eax
mov bl, 0x1a
push str.dateformat
mov ecx, edi
mov byte [esp + 0xebc], bl
call sym.ulxml8.dll_private:_bool___thiscall_UlXml::AddOption_char___class_ULValue___class_ATL::CComPtr_struct_IXMLDOMDocument2___class_ATL::CComPtr_struct_IXMLDOMElement__
test al, al
je 0x10002bd7
push ecx
lea edx, [esp + 0x48]
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
call fcn.10001bf0
push ecx
lea eax, [ebp + 8]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.10001bf0
mov edx, dword [esi]
lea eax, [esp + 0x138]
push eax
mov ecx, esi
mov byte [esp + 0xeb8], 0x1c
call dword [edx + 0x24]
push eax
push str.dateorder
mov ecx, edi
mov byte [esp + 0xebc], 0x1e
call sym.ulxml8.dll_private:_bool___thiscall_UlXml::AddOption_char___class_ULValue___class_ATL::CComPtr_struct_IXMLDOMDocument2___class_ATL::CComPtr_struct_IXMLDOMElement__
test al, al
lea ecx, [esp + 0x130]
sete byte [esp + 0x17]
mov byte [esp + 0xeac], bl
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::destructor_void_]
mov al, byte [esp + 0x17]
test al, al
jne 0x10002bd7
push ecx
lea edx, [esp + 0x48]
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
call fcn.10001bf0
push ecx
lea eax, [ebp + 8]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.10001bf0
mov edx, dword [esi]
lea eax, [esp + 0x1b8]
push eax
mov ecx, esi
mov byte [esp + 0xeb8], 0x20
call dword [edx + 0x28]
push eax
push str.nearestcentury
mov ecx, edi
mov byte [esp + 0xebc], 0x22
call sym.ulxml8.dll_private:_bool___thiscall_UlXml::AddOption_char___class_ULValue___class_ATL::CComPtr_struct_IXMLDOMDocument2___class_ATL::CComPtr_struct_IXMLDOMElement__
test al, al
lea ecx, [esp + 0x1b0]
sete byte [esp + 0x17]
mov byte [esp + 0xeac], bl
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::destructor_void_]
mov al, byte [esp + 0x17]
test al, al
jne 0x10002bd7
push ecx
lea edx, [esp + 0x48]
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
call fcn.10001bf0
push ecx
lea eax, [ebp + 8]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.10001bf0
mov edx, dword [esi]
lea eax, [esp + 0x218]
push eax
mov ecx, esi
mov byte [esp + 0xeb8], 0x24
call dword [edx + 0x2c]
push eax
push str.precision
mov ecx, edi
mov byte [esp + 0xebc], 0x26
call sym.ulxml8.dll_private:_bool___thiscall_UlXml::AddOption_char___class_ULValue___class_ATL::CComPtr_struct_IXMLDOMDocument2___class_ATL::CComPtr_struct_IXMLDOMElement__
test al, al
lea ecx, [esp + 0x210]
sete byte [esp + 0x17]
mov byte [esp + 0xeac], bl
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::destructor_void_]
mov al, byte [esp + 0x17]
test al, al
jne 0x10002bd7
push ecx
lea edx, [esp + 0x48]
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
call fcn.10001bf0
push ecx
lea eax, [ebp + 8]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.10001bf0
mov edx, dword [esi]
lea eax, [esp + 0x1f8]
push eax
mov ecx, esi
mov byte [esp + 0xeb8], 0x28
call dword [edx + 0x30]
push eax
push str.timeformat
mov ecx, edi
mov byte [esp + 0xebc], 0x2a
call sym.ulxml8.dll_private:_bool___thiscall_UlXml::AddOption_char___class_ULValue___class_ATL::CComPtr_struct_IXMLDOMDocument2___class_ATL::CComPtr_struct_IXMLDOMElement__
test al, al
lea ecx, [esp + 0x1f0]
sete byte [esp + 0x17]
mov byte [esp + 0xeac], bl
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::destructor_void_]
mov al, byte [esp + 0x17]
test al, al
jne 0x10002bd7
push ecx
lea edx, [esp + 0x48]
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
call fcn.10001bf0
push ecx
lea eax, [ebp + 8]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.10001bf0
mov edx, dword [esi]
lea eax, [esp + 0x238]
push eax
mov ecx, esi
mov byte [esp + 0xeb8], 0x2c
call dword [edx + 0x38]
push eax
push str.timestampincrement
mov ecx, edi
mov byte [esp + 0xebc], 0x2e
call sym.ulxml8.dll_private:_bool___thiscall_UlXml::AddOption_char___class_ULValue___class_ATL::CComPtr_struct_IXMLDOMDocument2___class_ATL::CComPtr_struct_IXMLDOMElement__
test al, al
lea ecx, [esp + 0x230]
sete byte [esp + 0x17]
mov byte [esp + 0xeac], bl
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::destructor_void_]
mov al, byte [esp + 0x17]
test al, al
jne 0x10002bd7
push ecx
lea edx, [esp + 0x48]
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
call fcn.10001bf0
push ecx
lea eax, [ebp + 8]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.10001bf0
mov edx, dword [esi]
lea eax, [esp + 0x258]
push eax
mov ecx, esi
mov byte [esp + 0xeb8], 0x30
call dword [edx + 0x34]
push eax
push str.timestampformat
mov ecx, edi
mov byte [esp + 0xebc], 0x32
call sym.ulxml8.dll_private:_bool___thiscall_UlXml::AddOption_char___class_ULValue___class_ATL::CComPtr_struct_IXMLDOMDocument2___class_ATL::CComPtr_struct_IXMLDOMElement__
test al, al
lea ecx, [esp + 0x250]
sete byte [esp + 0x17]
mov byte [esp + 0xeac], bl
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::destructor_void_]
mov al, byte [esp + 0x17]
test al, al
jne 0x10002bd7
xor bl, bl
jmp 0x10002bd9
mov bl, 1
lea ecx, [esp + 0x1d0]
mov byte [esp + 0xeac], 0x11
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::destructor_void_]
test bl, bl
jne 0x100050a8
lea ecx, [esp + 0x38]
call fcn.10001800
mov edx, dword [esp + 0x44]
mov ecx, dword [eax]
push 0
push edx
push eax
call dword [ecx + 0x54]
test eax, eax
jl 0x10005092
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x14]
test al, al
jbe 0x10002fad
lea ecx, [ebp + 8]
call fcn.10001800
mov ecx, dword [0x1003f56c]
test ecx, ecx
je 0x10002c39
mov ecx, dword [ecx]
jmp 0x10002c3b
xor ecx, ecx
mov edx, dword [eax]
lea edi, [esp + 0x74]
push edi
push ecx
push eax
call dword [edx + 0xbc]
test eax, eax
jl 0x10005092
mov eax, dword [esi]
mov ecx, esi
mov dword [esp + 0x24], 0
call dword [eax + 0x14]
test al, al
jbe 0x10002f8f
lea esp, [esp]
push 0x100171dc
lea ecx, [esp + 0x8c]
call fcn.1000a6f0
lea ecx, [ebp + 8]
call fcn.10001800
mov ecx, dword [0x1003f5c0]
test ecx, ecx
je 0x10002c97
mov ecx, dword [ecx]
jmp 0x10002c99
xor ecx, ecx
mov edx, dword [eax]
lea edi, [esp + 0x68]
push edi
push ecx
push eax
call dword [edx + 0xbc]
test eax, eax
jl 0x10005092
mov eax, dword [esi]
xor ecx, ecx
mov cl, byte [esp + 0x24]
inc cl
lea edx, [esp + 0x130]
push ecx
push edx
mov ecx, esi
call dword [eax + 0x1c]
push 0xff
lea ecx, [esp + 0xaa4]
push ecx
mov ecx, eax
mov byte [esp + 0xeb4], 0x33
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::GetString_char___unsigned_short_int_const]
lea ecx, [esp + 0x130]
mov byte [esp + 0xeac], 0x11
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::destructor_void_]
lea edx, [esp + 0xaa0]
push edx
lea ecx, [esp + 0xb4]
call fcn.10001830
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov dword [esp + 0xa8], ecx
lea ecx, [esp + 0x68]
mov byte [esp + 0xeac], 0x34
mov dword [esp + 0xac], edx
call fcn.10001800
mov ecx, dword [0x1003f614]
test ecx, ecx
je 0x10002d4a
mov ecx, dword [ecx]
mov dword [esp + 0x10], ecx
jmp 0x10002d52
mov dword [esp + 0x10], 0
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edi
mov edi, dword [esp + 0xb8]
mov dword [ecx + 4], ebx
mov dword [ecx + 8], edi
mov edi, dword [esp + 0xbc]
mov dword [ecx + 0xc], edi
mov ecx, dword [esp + 0x20]
push ecx
push eax
call dword [edx + 0xb4]
lea edx, [esp + 0xb0]
push edx
mov byte [esp + 0xeb0], 0x11
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
jge 0x10002d9e
push eax
call fcn.1000bb00
mov eax, dword [esi]
mov ecx, esi
mov dword [esp + 0x50], 0
call dword [eax + 4]
test ax, ax
jbe 0x10002ead
mov eax, dword [esp + 0x50]
mov edx, dword [esi]
inc eax
push eax
mov ecx, esi
call dword [edx + 0x10]
lea ecx, [esp + 0xaa0]
push ecx
lea ecx, [esp + 0x114]
mov ebx, eax
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::constructor_char_const__]
mov edx, dword [ebx + 4]
lea edi, [ebx + 4]
lea eax, [esp + 0x110]
push eax
mov ecx, edi
mov byte [esp + 0xeb0], 0x35
call dword [edx + 0x50]
lea ecx, [esp + 0x110]
mov byte [esp + 0x17], al
mov byte [esp + 0xeac], 0x11
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::destructor_void_]
mov al, byte [esp + 0x17]
test al, al
je 0x10002e8c
lea ecx, [esp + 0x88]
call fcn.1000a690
test eax, eax
jbe 0x10002e37
push 0x10017738
lea ecx, [esp + 0x8c]
call fcn.1000a6a0
mov edx, dword [edi]
lea eax, [esp + 0x1b0]
push eax
mov ecx, edi
call dword [edx + 0x40]
push pe_nt_image_headers32
lea ecx, [esp + 0xba4]
push ecx
mov ecx, eax
mov byte [esp + 0xeb4], 0x36
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::GetString_char___unsigned_short_int_const]
lea ecx, [esp + 0x1b0]
mov byte [esp + 0xeac], 0x11
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::destructor_void_]
lea edx, [esp + 0xba0]
push edx
lea ecx, [esp + 0x8c]
call fcn.1000a6a0
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax]
mov edi, dword [esp + 0x50]
mov edx, dword [esi]
inc edi
mov ecx, esi
mov dword [esp + 0x50], edi
call dword [edx + 4]
movzx eax, ax
cmp edi, eax
jl 0x10002db6
lea ecx, [esp + 0x88]
call sym.ulxml8.dll_public:_char_const____thiscall_UlXml::GetLastError_void_
push eax
lea ecx, [esp + 0xd4]
call fcn.10001830
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov dword [esp + 0xc8], ecx
lea ecx, [esp + 0x68]
mov byte [esp + 0xeac], 0x37
mov dword [esp + 0xcc], edx
call fcn.10001800
mov ecx, dword [0x1003f5c4]
test ecx, ecx
je 0x10002f02
mov ecx, dword [ecx]
mov dword [esp + 0x10], ecx
jmp 0x10002f0a
mov dword [esp + 0x10], 0
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edi
mov edi, dword [esp + 0xd8]
mov dword [ecx + 4], ebx
mov dword [ecx + 8], edi
mov edi, dword [esp + 0xdc]
mov dword [ecx + 0xc], edi
mov ecx, dword [esp + 0x20]
push ecx
push eax
call dword [edx + 0xb4]
lea edx, [esp + 0xd0]
push edx
mov byte [esp + 0xeb0], 0x11
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
jge 0x10002f56
push eax
call fcn.1000bb00
lea ecx, [esp + 0x74]
call fcn.10001800
mov edx, dword [esp + 0x68]
mov ecx, dword [eax]
push 0
push edx
push eax
call dword [ecx + 0x54]
test eax, eax
jl 0x10005092
mov edi, dword [esp + 0x24]
mov eax, dword [esi]
inc edi
mov ecx, esi
mov dword [esp + 0x24], edi
call dword [eax + 0x14]
movzx ecx, al
cmp edi, ecx
jl 0x10002c70
lea ecx, [esp + 0x38]
call fcn.10001800
mov ecx, dword [esp + 0x74]
mov edx, dword [eax]
push 0
push ecx
push eax
call dword [edx + 0x54]
test eax, eax
jl 0x10005092
lea ecx, [ebp + 8]
call fcn.10001800
mov ecx, dword [0x1003f5ec]
test ecx, ecx
je 0x10002fc3
mov ecx, dword [ecx]
jmp 0x10002fc5
xor ecx, ecx
mov edx, dword [eax]
lea edi, [esp + 0x6c]
push edi
push ecx
push eax
call dword [edx + 0xbc]
test eax, eax
jl 0x10005092
mov eax, dword [esi]
mov ecx, esi
mov dword [esp + 0x50], 1
call dword [eax + 4]
cmp ax, 1
jb 0x10005053
jmp 0x10003000
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x50]
mov edx, dword [ecx]
push eax
call dword [edx + 0x10]
test eax, eax
mov dword [esp + 0x3c], eax
je 0x10005285
mov eax, dword [esp + 0x28]
test eax, eax
je 0x1000302b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp + 8]
mov dword [esp + 0x28], 0
call fcn.10001800
mov ecx, dword [0x1003f5cc]
test ecx, ecx
je 0x10003049
mov ecx, dword [ecx]
jmp 0x1000304b
xor ecx, ecx
mov edx, dword [eax]
lea esi, [esp + 0x28]
push esi
push ecx
push eax
call dword [edx + 0xbc]
test eax, eax
jl 0x10005092
mov eax, dword [esp + 0x28]
test eax, eax
je 0x100050a8
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + 4]
add ecx, 4
lea edx, [esp + 0x920]
push edx
mov byte [esp + 0x1b], 0
call dword [eax + 0x40]
push 0xff
lea ecx, [esp + 0x4e4]
push ecx
mov ecx, eax
mov byte [esp + 0xeb4], 0x38
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::GetString_char___unsigned_short_int_const]
lea ecx, [esp + 0x920]
mov byte [esp + 0xeac], 0x11
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::destructor_void_]
lea edx, [esp + 0x4e0]
push edx
lea ecx, [esp + 0x3f4]
call fcn.10001830
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov ebx, dword [eax + 8]
mov eax, dword [eax + 0xc]
lea ecx, [esp + 0x28]
mov byte [esp + 0xeac], 0x39
mov dword [esp + 0x3ec], eax
call fcn.10001800
mov ecx, dword [0x1003f614]
test ecx, ecx
je 0x10003103
mov ecx, dword [ecx]
mov dword [esp + 0x10], ecx
jmp 0x1000310b
mov dword [esp + 0x10], 0
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], esi
mov esi, dword [esp + 0x3fc]
mov dword [ecx + 4], edi
mov dword [ecx + 8], ebx
mov dword [ecx + 0xc], esi
mov ecx, dword [esp + 0x20]
push ecx
push eax
call dword [edx + 0xb4]
lea edx, [esp + 0x3f0]
push edx
mov esi, eax
mov byte [esp + 0xeb0], 0x11
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
jge 0x10003152
push eax
call fcn.1000bb00
test esi, esi
jl 0x10005092
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx]
push edx
lea edx, [esp + 0x8a4]
push edx
call dword [eax + 0x68]
push pe_nt_image_headers32
lea ecx, [esp + 0x4e4]
push ecx
mov ecx, eax
mov byte [esp + 0xeb4], 0x3a
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::GetString_char___unsigned_short_int_const]
lea ecx, [esp + 0x8a0]
mov byte [esp + 0xeac], 0x11
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::destructor_void_]
lea eax, [esp + 0x4e0]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100031b0
sub eax, edx
mov dword [esp + 0x2c], eax
je 0x10003263
lea edx, [esp + 0x4e0]
push edx
lea ecx, [esp + 0x454]
call fcn.10001830
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov ebx, dword [eax + 8]
mov eax, dword [eax + 0xc]
lea ecx, [esp + 0x28]
mov byte [esp + 0xeac], 0x3b
mov dword [esp + 0x43c], eax
call fcn.10001800
mov ecx, dword [0x1003f5e0]
test ecx, ecx
je 0x1000320c
mov ecx, dword [ecx]
mov dword [esp + 0x10], ecx
jmp 0x10003214
mov dword [esp + 0x10], 0
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], esi
mov esi, dword [esp + 0x44c]
mov dword [ecx + 4], edi
mov dword [ecx + 8], ebx
mov dword [ecx + 0xc], esi
mov ecx, dword [esp + 0x20]
push ecx
push eax
call dword [edx + 0xb4]
lea edx, [esp + 0x450]
push edx
mov esi, eax
mov byte [esp + 0xeb0], 0x11
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
jge 0x1000325b
push eax
call fcn.1000bb00
test esi, esi
jl 0x10005092
mov esi, dword [esp + 0x3c]
mov eax, dword [esi + 4]
add esi, 4
mov ecx, esi
call dword [eax + 0x2c]
test al, al
je 0x100032fc
push str.norows
lea ecx, [esp + 0x494]
call fcn.10001830
mov ecx, dword [eax + 0xc]
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov ebx, dword [eax + 8]
mov dword [esp + 0x47c], ecx
lea ecx, [esp + 0x28]
mov byte [esp + 0xeac], 0x3c
call fcn.10001800
mov ecx, dword [0x1003f5d0]
test ecx, ecx
je 0x100032c0
mov edx, dword [ecx]
mov dword [esp + 0x10], edx
jmp 0x100032c8
mov dword [esp + 0x10], 0
mov ecx, dword [eax]
sub esp, 0x10
mov edx, esp
mov dword [edx], esi
mov esi, dword [esp + 0x48c]
mov dword [edx + 4], edi
mov dword [edx + 8], ebx
mov dword [edx + 0xc], esi
mov edx, dword [esp + 0x20]
push edx
push eax
call dword [ecx + 0xb4]
mov esi, eax
lea eax, [esp + 0x490]
push eax
jmp 0x10003400
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x30]
test al, al
je 0x10003383
push str.allrows
lea ecx, [esp + 0x4d4]
call fcn.10001830
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov ebx, dword [eax + 8]
mov eax, dword [eax + 0xc]
lea ecx, [esp + 0x28]
mov byte [esp + 0xeac], 0x3d
mov dword [esp + 0x4bc], eax
call fcn.10001800
mov ecx, dword [0x1003f5d0]
test ecx, ecx
je 0x1000334d
mov ecx, dword [ecx]
mov dword [esp + 0x10], ecx
jmp 0x10003355
mov dword [esp + 0x10], 0
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], esi
mov esi, dword [esp + 0x4cc]
mov dword [ecx + 4], edi
mov dword [ecx + 8], ebx
mov dword [ecx + 0xc], esi
mov ecx, dword [esp + 0x20]
push ecx
push eax
call dword [edx + 0xb4]
lea edx, [esp + 0x4d0]
jmp 0x100033fd
push str.changes
lea ecx, [esp + 0x414]
call fcn.10001830
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov ebx, dword [eax + 8]
mov eax, dword [eax + 0xc]
lea ecx, [esp + 0x28]
mov byte [esp + 0xeac], 0x3e
mov dword [esp + 0x2ac], eax
call fcn.10001800
mov ecx, dword [0x1003f5d0]
test ecx, ecx
je 0x100033c9
mov ecx, dword [ecx]
mov dword [esp + 0x10], ecx
jmp 0x100033d1
mov dword [esp + 0x10], 0
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], esi
mov esi, dword [esp + 0x2bc]
mov dword [ecx + 4], edi
mov dword [ecx + 8], ebx
mov dword [ecx + 0xc], esi
mov ecx, dword [esp + 0x20]
push ecx
push eax
call dword [edx + 0xb4]
lea edx, [esp + 0x410]
mov esi, eax
push edx
mov byte [esp + 0xeb0], 0x11
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
jge 0x10003418
push eax
call fcn.1000bb00
test esi, esi
jl 0x10005092
lea ecx, [ebp + 8]
call fcn.10001800
mov ecx, dword [0x1003f5f4]
test ecx, ecx
je 0x10003436
mov ecx, dword [ecx]
jmp 0x10003438
xor ecx, ecx
mov edx, dword [eax]
lea esi, [esp + 0x78]
push esi
push ecx
push eax
call dword [edx + 0xbc]
test eax, eax
jl 0x10005092
lea ecx, [esp + 0x28]
call fcn.10001800
mov edx, dword [esp + 0x78]
mov ecx, dword [eax]
push 0
push edx
push eax
call dword [ecx + 0x54]
test eax, eax
jl 0x10005092
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + 8]
add ecx, 8
mov dword [esp + 0x30], 1
call dword [eax + 4]
cmp ax, 1
jb 0x1000406c
mov edi, dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::destructor_void_]
lea ecx, [ebp + 8]
call fcn.10001800
mov ecx, dword [0x1003f5d4]
test ecx, ecx
je 0x100034a8
mov ecx, dword [ecx]
jmp 0x100034aa
xor ecx, ecx
mov edx, dword [eax]
lea esi, [esp + 0x34]
push esi
push ecx
push eax
call dword [edx + 0xbc]
test eax, eax
jl 0x10005092
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + 8]
push edx
add ecx, 8
lea edx, [esp + 0x8e4]
push edx
call dword [eax + 0x20]
push 0xff
lea ecx, [esp + 0x724]
push ecx
mov ecx, eax
mov byte [esp + 0xeb4], 0x3f
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::GetString_char___unsigned_short_int_const]
lea ecx, [esp + 0x8e0]
mov byte [esp + 0xeac], 0x11
call edi
lea edx, [esp + 0x720]
push edx
lea ecx, [esp + 0x294]
call fcn.10001830
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov ebx, dword [eax]
mov esi, dword [eax + 4]
mov dword [esp + 0x198], ecx
lea ecx, [esp + 0x34]
mov byte [esp + 0xeac], 0x40
mov dword [esp + 0x19c], edx
call fcn.10001800
mov ecx, dword [0x1003f614]
test ecx, ecx
je 0x10003559
mov ecx, dword [ecx]
mov dword [esp + 0x10], ecx
jmp 0x10003561
mov dword [esp + 0x10], 0
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], ebx
mov dword [ecx + 4], esi
mov esi, dword [esp + 0x1a8]
mov dword [ecx + 8], esi
mov esi, dword [esp + 0x1ac]
mov dword [ecx + 0xc], esi
mov ecx, dword [esp + 0x20]
push ecx
push eax
call dword [edx + 0xb4]
lea edx, [esp + 0x290]
push edx
mov esi, eax
mov byte [esp + 0xeb0], 0x11
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
jge 0x100035af
push eax
call fcn.1000bb00
test esi, esi
jl 0x10005092
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx]
push edx
mov edx, dword [esp + 0x54]
push edx
lea edx, [esp + 0x968]
push edx
call dword [eax + 0x70]
push pe_nt_image_headers32
lea ecx, [esp + 0x4e4]
push ecx
mov ecx, eax
mov byte [esp + 0xeb4], 0x41
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::GetString_char___unsigned_short_int_const]
lea ecx, [esp + 0x960]
mov byte [esp + 0xeac], 0x11
call edi
lea eax, [esp + 0x4e0]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10003610
sub eax, edx
mov dword [esp + 0x2c], eax
je 0x100036d1
lea edx, [esp + 0x4e0]
push edx
lea ecx, [esp + 0x3c4]
call fcn.10001830
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov esi, dword [eax]
mov ebx, dword [eax + 4]
mov dword [esp + 0x188], ecx
lea ecx, [esp + 0x34]
mov byte [esp + 0xeac], 0x42
mov dword [esp + 0x18c], edx
call fcn.10001800
mov ecx, dword [0x1003f5e0]
test ecx, ecx
je 0x10003673
mov ecx, dword [ecx]
mov dword [esp + 0x10], ecx
jmp 0x1000367b
mov dword [esp + 0x10], 0
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], esi
mov esi, dword [esp + 0x198]
mov dword [ecx + 4], ebx
mov dword [ecx + 8], esi
mov esi, dword [esp + 0x19c]
mov dword [ecx + 0xc], esi
mov ecx, dword [esp + 0x20]
push ecx
push eax
call dword [edx + 0xb4]
lea edx, [esp + 0x3c0]
push edx
mov esi, eax
mov byte [esp + 0xeb0], 0x11
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
jge 0x100036c9
push eax
call fcn.1000bb00
test esi, esi
jl 0x10005092
mov ebx, dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::constructor_char_const__]
lea eax, [esp + 0x720]
push eax
lea ecx, [esp + 0x6c4]
call ebx
mov esi, dword [esp + 0x3c]
mov edx, dword [esi + 8]
add esi, 8
lea eax, [esp + 0x6c0]
push eax
mov ecx, esi
mov byte [esp + 0xeb0], 0x43
call dword [edx + 0xc]
lea ecx, [esp + 0x6c0]
mov dword [esp + 0x2c], eax
mov byte [esp + 0xeac], 0x11
call edi
lea ecx, [esp + 0x720]
push ecx
lea ecx, [esp + 0x644]
call ebx
mov edx, dword [esi]
lea eax, [esp + 0x640]
push eax
mov ecx, esi
mov byte [esp + 0xeb0], 0x44
call dword [edx + 0x10]
movzx ecx, ax
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x640]
mov byte [esp + 0xeac], 0x11
call edi
lea edx, [esp + 0x720]
push edx
lea ecx, [esp + 0x5e4]
call ebx
mov eax, dword [esi]
lea ecx, [esp + 0x5e0]
push ecx
mov ecx, esi
mov byte [esp + 0xeb0], 0x45
call dword [eax + 0x14]
movzx edx, ax
lea ecx, [esp + 0x5e0]
mov dword [esp + 0x10], edx
mov byte [esp + 0xeac], 0x11
call edi
lea eax, [esp + 0x720]
push eax
lea ecx, [esp + 0x684]
call ebx
mov edx, dword [esi]
lea eax, [esp + 0x680]
push eax
mov ecx, esi
mov byte [esp + 0xeb0], 0x46
call dword [edx + 0x18]
movzx ecx, ax
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x680]
mov byte [esp + 0xeac], 0x11
call edi
lea edx, [esp + 0x720]
push edx
lea ecx, [esp + 0x604]
call ebx
mov esi, dword [esp + 0x3c]
mov eax, dword [esi + 4]
add esi, 4
lea ecx, [esp + 0x600]
push ecx
mov ecx, esi
mov byte [esp + 0xeb0], 0x47
call dword [eax + 8]
mov byte [esp + 0x67], al
mov byte [esp + 0xeac], 0x11
lea ecx, [esp + 0x600]
call edi
lea edx, [esp + 0x720]
push edx
lea ecx, [esp + 0x624]
mov byte [esp + 0x9a4], 0
call ebx
mov eax, dword [esi]
lea ecx, [esp + 0x620]
push ecx
mov ecx, esi
mov byte [esp + 0xeb0], 0x48
call dword [eax + 0x10]
lea ecx, [esp + 0x620]
mov bl, al
mov byte [esp + 0xeac], 0x11
call edi
test bl, bl
je 0x10003875
mov dword [esp + 0x40], str.autoincrement
jmp 0x10003a77
mov ebx, dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::constructor_char_const__]
lea edx, [esp + 0x720]
push edx
lea ecx, [esp + 0x664]
call ebx
mov eax, dword [esi]
lea ecx, [esp + 0x660]
push ecx
mov ecx, esi
mov byte [esp + 0xeb0], 0x49
call dword [eax + 0x14]
lea ecx, [esp + 0x660]
mov byte [esp + 0x1f], al
mov byte [esp + 0xeac], 0x11
call edi
mov al, byte [esp + 0x1f]
test al, al
je 0x1000393d
lea edx, [esp + 0x720]
push edx
lea ecx, [esp + 0x6a4]
mov dword [esp + 0x44], str.global_autoincrement
call ebx
mov eax, dword [esi]
lea ecx, [esp + 0x90]
push ecx
lea edx, [esp + 0x6a4]
push edx
mov ecx, esi
mov byte [esp + 0xeb4], 0x4a
call dword [eax + 0x18]
lea ecx, [esp + 0x6a0]
mov bl, al
mov byte [esp + 0xeac], 0x11
call edi
test bl, bl
je 0x10003a77
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x90]
push eax
push ecx
lea edx, [esp + 0x9a8]
push str._I64d
push edx
call fcn.1000c5c6
add esp, 0x10
jmp 0x10003a77
lea eax, [esp + 0x720]
push eax
lea ecx, [esp + 0x704]
call ebx
mov edx, dword [esi]
lea eax, [esp + 0x700]
push eax
mov ecx, esi
mov byte [esp + 0xeb0], 0x4b
call dword [edx + 0x1c]
lea ecx, [esp + 0x700]
mov byte [esp + 0x1f], al
mov byte [esp + 0xeac], 0x11
call edi
mov al, byte [esp + 0x1f]
test al, al
je 0x1000398f
mov dword [esp + 0x40], str.current_timestamp
jmp 0x10003a77
lea ecx, [esp + 0x720]
push ecx
lea ecx, [esp + 0x6e4]
call ebx
mov edx, dword [esi]
lea eax, [esp + 0x6e0]
push eax
mov ecx, esi
mov byte [esp + 0xeb0], 0x4c
call dword [edx + 0x20]
lea ecx, [esp + 0x6e0]
mov byte [esp + 0x1f], al
mov byte [esp + 0xeac], 0x11
call edi
mov al, byte [esp + 0x1f]
test al, al
je 0x100039e1
mov dword [esp + 0x40], str.current_time
jmp 0x10003a77
lea ecx, [esp + 0x720]
push ecx
lea ecx, [esp + 0x1d4]
call ebx
mov edx, dword [esi]
lea eax, [esp + 0x1d0]
push eax
mov ecx, esi
mov byte [esp + 0xeb0], 0x4d
call dword [edx + 0x24]
lea ecx, [esp + 0x1d0]
mov bl, al
mov byte [esp + 0xeac], 0x11
call edi
test bl, bl
je 0x10003a2a
mov dword [esp + 0x40], str.current_date
jmp 0x10003a77
lea ecx, [esp + 0x720]
push ecx
lea ecx, [esp + 0x254]
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::constructor_char_const__]
mov edx, dword [esi]
lea eax, [esp + 0x250]
push eax
mov ecx, esi
mov byte [esp + 0xeb0], 0x4e
call dword [edx + 0x28]
lea ecx, [esp + 0x250]
mov bl, al
mov byte [esp + 0xeac], 0x11
call edi
neg bl
sbb ebx, ebx
and ebx, str.new_uuid
mov dword [esp + 0x40], ebx
mov eax, dword [0x1003d398]
xor edx, edx
cmp eax, 0x13
je 0x10003aa0
mov esi, dword [esp + 0x2c]
mov ecx, 0x1003d398
lea esp, [esp]
cmp eax, esi
je 0x10003aa0
mov eax, dword [ecx + 0xc]
add ecx, 0xc
inc edx
cmp eax, 0x13
jne 0x10003a90
lea edx, [edx + edx*2]
shl edx, 2
cmp dword [edx + 0x1003d398], 0x13
je 0x10005285
mov eax, dword [edx + 0x1003d39c]
mov byte [esp + 0x4e0], 0
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10003ac3
lea edi, [esp + 0x4e0]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x10003ad4
mov edx, dword [edx + 0x1003d3a0]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
test edx, edx
rep movsb byte es:[edi], byte [esi]
jle 0x10003b88
lea edi, [esp + 0x4e0]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x10003b00
mov cx, word [0x100176ac]
lea eax, [esp + 0x4e0]
cmp edx, 1
mov word [edi], cx
lea edx, [eax + 1]
jne 0x10003b46
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10003b21
sub eax, edx
mov edx, dword [esp + 0x20]
push edx
lea eax, [esp + eax + 0x4e4]
push 0x1001768c
push eax
call fcn.1000c5c6
add esp, 0xc
jmp 0x10003b6e
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10003b46
mov ecx, dword [esp + 0x10]
sub eax, edx
mov edx, dword [esp + 0x24]
push ecx
push edx
lea eax, [esp + eax + 0x4e8]
push str._d__d
push eax
call fcn.1000c5c6
add esp, 0x10
lea edi, [esp + 0x4e0]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x10003b76
mov cx, word [0x100176a0]
mov word [edi], cx
lea edx, [esp + 0x4e0]
push edx
lea ecx, [esp + 0x4c4]
call fcn.10001830
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov ebx, dword [eax + 8]
mov eax, dword [eax + 0xc]
lea ecx, [esp + 0x34]
mov byte [esp + 0xeac], 0x4f
mov dword [esp + 0x2cc], eax
call fcn.10001800
mov ecx, dword [0x1003f5c8]
test ecx, ecx
je 0x10003bd1
mov ecx, dword [ecx]
mov dword [esp + 0x10], ecx
jmp 0x10003bd9
mov dword [esp + 0x10], 0
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], esi
mov esi, dword [esp + 0x2dc]
mov dword [ecx + 4], edi
mov dword [ecx + 8], ebx
mov dword [ecx + 0xc], esi
mov ecx, dword [esp + 0x20]
push ecx
push eax
call dword [edx + 0xb4]
lea edx, [esp + 0x4c0]
push edx
mov dword [esp + 0x28], eax
mov byte [esp + 0xeb0], 0x11
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
jge 0x10003c22
push eax
call fcn.1000bb00
mov eax, dword [esp + 0x40]
test eax, eax
je 0x10003cd2
push eax
lea ecx, [esp + 0x274]
call fcn.10001830
mov ecx, dword [eax + 0xc]
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov ebx, dword [eax + 8]
mov dword [esp + 0x2ec], ecx
lea ecx, [esp + 0x34]
mov byte [esp + 0xeac], 0x50
call fcn.10001800
mov ecx, dword [0x1003f5e4]
test ecx, ecx
je 0x10003c70
mov edx, dword [ecx]
mov dword [esp + 0x10], edx
jmp 0x10003c78
mov dword [esp + 0x10], 0
mov ecx, dword [eax]
sub esp, 0x10
mov edx, esp
mov dword [edx], esi
mov esi, dword [esp + 0x2fc]
mov dword [edx + 4], edi
mov dword [edx + 8], ebx
mov dword [edx + 0xc], esi
mov edx, dword [esp + 0x20]
push edx
push eax
call dword [ecx + 0xb4]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x270]
push eax
mov byte [esp + 0xeb0], 0x11
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
jge 0x10003cc1
push eax
call fcn.1000bb00
mov eax, dword [esp + 0x24]
test eax, eax
jl 0x10005092
jmp 0x10003e49
lea ecx, [esp + 0x110]
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::constructor_void_]
lea ecx, [esp + 0x720]
push ecx
lea ecx, [esp + 0x234]
mov byte [esp + 0xeb0], 0x51
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::constructor_char_const__]
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx + 4]
lea eax, [esp + 0x230]
push eax
add ecx, 4
lea eax, [esp + 0x884]
push eax
mov byte [esp + 0xeb4], 0x52
call dword [edx + 4]
push eax
lea ecx, [esp + 0x114]
mov byte [esp + 0xeb0], 0x53
call dword [sym.imp.ulrttd8.dll_public:_class_ULValue____thiscall_ULValue::operator_class_ULValue_const__]
mov esi, dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::destructor_void_]
lea ecx, [esp + 0x880]
mov byte [esp + 0xeac], 0x52
call esi
lea ecx, [esp + 0x230]
mov byte [esp + 0xeac], 0x51
call esi
lea ecx, [esp + 0x110]
call dword [sym.imp.ulrttd8.dll_public:_bool___thiscall_ULValue::IsNull_void_const]
test al, al
jne 0x10003e34
push 0xff
lea ecx, [esp + 0xca4]
push ecx
lea ecx, [esp + 0x118]
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::GetString_char___unsigned_short_int_const]
lea edx, [esp + 0xca0]
push edx
lea ecx, [esp + 0x464]
call fcn.10001830
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov ebx, dword [eax + 8]
mov eax, dword [eax + 0xc]
lea ecx, [esp + 0x34]
mov byte [esp + 0xeac], 0x54
mov dword [esp + 0x30c], eax
call fcn.10001800
mov ecx, dword [0x1003f618]
test ecx, ecx
je 0x10003dd7
mov ecx, dword [ecx]
mov dword [esp + 0x10], ecx
jmp 0x10003ddf
mov dword [esp + 0x10], 0
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], esi
mov esi, dword [esp + 0x31c]
mov dword [ecx + 4], edi
mov dword [ecx + 8], ebx
mov dword [ecx + 0xc], esi
mov ecx, dword [esp + 0x20]
push ecx
push eax
call dword [edx + 0xb4]
lea edx, [esp + 0x460]
push edx
mov dword [esp + 0x28], eax
mov byte [esp + 0xeb0], 0x51
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
jge 0x10003e28
push eax
call fcn.1000bb00
mov eax, dword [esp + 0x24]
test eax, eax
jl 0x10005255
lea ecx, [esp + 0x110]
mov byte [esp + 0xeac], 0x11
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::destructor_void_]
lea eax, [esp + 0x9a0]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10003e53
sub eax, edx
mov dword [esp + 0x2c], eax
je 0x10003f0a
lea eax, [esp + 0x9a0]
push eax
lea ecx, [esp + 0x404]
call fcn.10001830
mov ecx, dword [eax + 0xc]
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov ebx, dword [eax + 8]
mov dword [esp + 0x32c], ecx
lea ecx, [esp + 0x34]
mov byte [esp + 0xeac], 0x55
call fcn.10001800
mov ecx, dword [0x1003f588]
test ecx, ecx
je 0x10003eaf
mov edx, dword [ecx]
mov dword [esp + 0x10], edx
jmp 0x10003eb7
mov dword [esp + 0x10], 0
mov ecx, dword [eax]
sub esp, 0x10
mov edx, esp
mov dword [edx], esi
mov esi, dword [esp + 0x33c]
mov dword [edx + 4], edi
mov dword [edx + 8], ebx
mov dword [edx + 0xc], esi
mov edx, dword [esp + 0x20]
push edx
push eax
call dword [ecx + 0xb4]
mov esi, eax
lea eax, [esp + 0x400]
push eax
mov dword [esp + 0x28], esi
mov byte [esp + 0xeb0], 0x11
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
jge 0x10003f02
push eax
call fcn.1000bb00
test esi, esi
jl 0x10005092
mov al, byte [esp + 0x67]
test al, al
jne 0x10003f8e
push 0x100177a0
lea ecx, [esp + 0x4a4]
call fcn.10001830
mov ecx, dword [eax + 0xc]
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov ebx, dword [eax + 8]
mov dword [esp + 0x34c], ecx
lea ecx, [esp + 0x34]
mov byte [esp + 0xeac], 0x56
call fcn.10001800
mov ecx, dword [0x1003f570]
test ecx, ecx
je 0x10003f58
mov edx, dword [ecx]
mov dword [esp + 0x10], edx
jmp 0x10003f60
mov dword [esp + 0x10], 0
mov ecx, dword [eax]
sub esp, 0x10
mov edx, esp
mov dword [edx], esi
mov esi, dword [esp + 0x35c]
mov dword [edx + 4], edi
mov dword [edx + 8], ebx
mov dword [edx + 0xc], esi
mov edx, dword [esp + 0x20]
push edx
push eax
call dword [ecx + 0xb4]
lea eax, [esp + 0x4a0]
jmp 0x10004008
push 0x100177a4
lea ecx, [esp + 0x424]
call fcn.10001830
mov ecx, dword [eax + 0xc]
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov ebx, dword [eax + 8]
mov dword [esp + 0x36c], ecx
lea ecx, [esp + 0x34]
mov byte [esp + 0xeac], 0x57
call fcn.10001800
mov ecx, dword [0x1003f570]
test ecx, ecx
je 0x10003fd4
mov edx, dword [ecx]
mov dword [esp + 0x10], edx
jmp 0x10003fdc
mov dword [esp + 0x10], 0
mov ecx, dword [eax]
sub esp, 0x10
mov edx, esp
mov dword [edx], esi
mov esi, dword [esp + 0x37c]
mov dword [edx + 4], edi
mov dword [edx + 8], ebx
mov dword [edx + 0xc], esi
mov edx, dword [esp + 0x20]
push edx
push eax
call dword [ecx + 0xb4]
lea eax, [esp + 0x420]
push eax
mov byte [esp + 0xeb0], 0x11
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
jge 0x10004021
push eax
call fcn.1000bb00
mov eax, dword [esp + 0x24]
test eax, eax
jl 0x10005092
lea ecx, [esp + 0x78]
call fcn.10001800
mov edx, dword [esp + 0x34]
mov ecx, dword [eax]
push 0
push edx
push eax
call dword [ecx + 0x54]
test eax, eax
jl 0x10005092
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + 8]
add ecx, 8
inc esi
mov dword [esp + 0x30], esi
call dword [eax + 4]
movzx ecx, ax
cmp esi, ecx
jle 0x1000348c
lea ecx, [ebp + 8]
call fcn.10001800
mov ecx, dword [0x1003f610]
test ecx, ecx
je 0x10004082
mov ecx, dword [ecx]
jmp 0x10004084
xor ecx, ecx
mov edx, dword [eax]
lea esi, [esp + 0x70]
push esi
push ecx
push eax
call dword [edx + 0xbc]
test eax, eax
jl 0x10005092
lea ecx, [ebp + 8]
call fcn.10001800
mov ecx, dword [0x1003f5e8]
test ecx, ecx
je 0x100040b1
mov ecx, dword [ecx]
jmp 0x100040b3
xor ecx, ecx
mov edx, dword [eax]
lea esi, [esp + 0x7c]
push esi
push ecx
push eax
call dword [edx + 0xbc]
test eax, eax
jl 0x10005092
mov esi, dword [esp + 0x3c]
mov eax, dword [esi + 4]
add esi, 4
mov ebx, 1
mov ecx, esi
mov dword [esp + 0x24], ebx
call dword [eax + 0x38]
cmp ax, bx
jb 0x100047c0
jmp 0x100040f0
mov edx, dword [esi]
push ebx
mov ecx, esi
call dword [edx + 0x48]
mov edi, eax
test edi, edi
mov dword [esp + 0x40], edi
je 0x10005285
mov eax, dword [edi + 4]
lea esi, [edi + 4]
mov ecx, esi
call dword [eax + 0x20]
test al, al
je 0x10004125
mov edx, dword [edi]
mov ecx, edi
mov byte [esp + 0x17], 1
call dword [edx]
jmp 0x100047a1
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x24]
test al, al
jne 0x1000445f
lea ecx, [ebp + 8]
call fcn.10001800
mov ecx, dword [0x1003f584]
test ecx, ecx
je 0x1000414a
mov ecx, dword [ecx]
jmp 0x1000414c
xor ecx, ecx
mov edx, dword [eax]
lea edi, [esp + 0x48]
push edi
push ecx
push eax
call dword [edx + 0xbc]
test eax, eax
jl 0x10005092
mov eax, dword [esi]
lea ecx, [esp + 0x820]
push ecx
mov ecx, esi
call dword [eax + 4]
push 0xff
lea edx, [esp + 0x4e4]
push edx
mov ecx, eax
mov byte [esp + 0xeb4], 0x58
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::GetString_char___unsigned_short_int_const]
lea ecx, [esp + 0x820]
mov byte [esp + 0xeac], 0x11
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::destructor_void_]
lea eax, [esp + 0x4e0]
push eax
lea ecx, [esp + 0x384]
call fcn.10001830
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov dword [esp + 0x168], ecx
lea ecx, [esp + 0x48]
mov byte [esp + 0xeac], 0x59
mov dword [esp + 0x16c], edx
call fcn.10001800
mov ecx, dword [0x1003f614]
test ecx, ecx
je 0x100041f4
mov ecx, dword [ecx]
mov dword [esp + 0x10], ecx
jmp 0x100041fc
mov dword [esp + 0x10], 0
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edi
mov edi, dword [esp + 0x178]
mov dword [ecx + 4], ebx
mov dword [ecx + 8], edi
mov edi, dword [esp + 0x17c]
mov dword [ecx + 0xc], edi
mov ecx, dword [esp + 0x20]
push ecx
push eax
call dword [edx + 0xb4]
mov ebx, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [esp + 0x380]
push edx
mov edi, eax
mov byte [esp + 0xeb0], 0x11
call ebx
test eax, eax
jge 0x1000424c
push eax
call fcn.1000bb00
test edi, edi
jl 0x10005092
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1c]
test al, al
je 0x100042fe
push 0x1001769c
lea ecx, [esp + 0x484]
call fcn.10001830
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
mov edi, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [esp + 0xf4], ecx
lea ecx, [esp + 0x48]
mov byte [esp + 0xeac], 0x5a
mov dword [esp + 0xf8], edx
mov dword [esp + 0xfc], eax
call fcn.10001800
mov ecx, dword [0x1003f61c]
test ecx, ecx
je 0x100042b7
mov ecx, dword [ecx]
mov dword [esp + 0x10], ecx
jmp 0x100042bf
mov dword [esp + 0x10], 0
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edi
mov edi, dword [esp + 0x104]
mov dword [ecx + 4], edi
mov edi, dword [esp + 0x108]
mov dword [ecx + 8], edi
mov edi, dword [esp + 0x10c]
mov dword [ecx + 0xc], edi
mov ecx, dword [esp + 0x20]
push ecx
push eax
call dword [edx + 0xb4]
lea edx, [esp + 0x480]
jmp 0x1000443e
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x18]
test al, al
je 0x100043a8
push 0x100177a4
lea ecx, [esp + 0x3a4]
call fcn.10001830
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
mov edi, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [esp + 0xe4], ecx
lea ecx, [esp + 0x48]
mov byte [esp + 0xeac], 0x5b
mov dword [esp + 0xe8], edx
mov dword [esp + 0xec], eax
call fcn.10001800
mov ecx, dword [0x1003f61c]
test ecx, ecx
je 0x10004361
mov ecx, dword [ecx]
mov dword [esp + 0x10], ecx
jmp 0x10004369
mov dword [esp + 0x10], 0
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edi
mov edi, dword [esp + 0xf4]
mov dword [ecx + 4], edi
mov edi, dword [esp + 0xf8]
mov dword [ecx + 8], edi
mov edi, dword [esp + 0xfc]
mov dword [ecx + 0xc], edi
mov ecx, dword [esp + 0x20]
push ecx
push eax
call dword [edx + 0xb4]
lea edx, [esp + 0x3a0]
jmp 0x1000443e
push 0x100177a0
lea ecx, [esp + 0x444]
call fcn.10001830
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
mov edi, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x104], ecx
lea ecx, [esp + 0x48]
mov byte [esp + 0xeac], 0x5c
mov dword [esp + 0x108], edx
mov dword [esp + 0x10c], eax
call fcn.10001800
mov ecx, dword [0x1003f61c]
test ecx, ecx
je 0x100043fc
mov ecx, dword [ecx]
mov dword [esp + 0x10], ecx
jmp 0x10004404
mov dword [esp + 0x10], 0
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edi
mov edi, dword [esp + 0x114]
mov dword [ecx + 4], edi
mov edi, dword [esp + 0x118]
mov dword [ecx + 8], edi
mov edi, dword [esp + 0x11c]
mov dword [ecx + 0xc], edi
mov ecx, dword [esp + 0x20]
push ecx
push eax
call dword [edx + 0xb4]
lea edx, [esp + 0x440]
push edx
mov edi, eax
mov byte [esp + 0xeb0], 0x11
call ebx
test eax, eax
jge 0x10004455
push eax
call fcn.1000bb00
test edi, edi
jl 0x10005092
jmp 0x1000446d
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x4c]
call fcn.10001c10
mov edx, dword [esi]
mov ecx, esi
mov dword [esp + 0x30], 1
call dword [edx + 0xc]
cmp ax, 1
jb 0x1000476c
mov ecx, dword [esp + 0x30]
mov eax, dword [esi]
push ecx
lea edx, [esp + 0x8c4]
push edx
mov ecx, esi
call dword [eax + 0x10]
push 0xff
lea ecx, [esp + 0x4e4]
push ecx
mov ecx, eax
mov byte [esp + 0xeb4], 0x5d
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::GetString_char___unsigned_short_int_const]
mov edi, dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::destructor_void_]
lea ecx, [esp + 0x8c0]
mov byte [esp + 0xeac], 0x11
call edi
lea edx, [esp + 0x4e0]
push edx
lea ecx, [esp + 0x1f4]
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::constructor_char_const__]
mov eax, dword [esi]
lea ecx, [esp + 0x1f0]
push ecx
mov ecx, esi
mov byte [esp + 0xeb0], 0x5e
call dword [eax + 0x14]
mov bl, al
neg bl
sbb bl, bl
lea ecx, [esp + 0x1f0]
inc bl
mov byte [esp + 0xeac], 0x11
call edi
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x24]
test al, al
lea ecx, [ebp + 8]
jne 0x10004534
call fcn.10001800
mov ecx, dword [0x1003f5b4]
test ecx, ecx
je 0x10004547
mov ecx, dword [ecx]
jmp 0x10004549
call fcn.10001800
mov ecx, dword [0x1003f600]
test ecx, ecx
je 0x10004547
mov ecx, dword [ecx]
jmp 0x10004549
xor ecx, ecx
mov edx, dword [eax]
lea esi, [esp + 0x4c]
push esi
push ecx
push eax
call dword [edx + 0xbc]
test eax, eax
jl 0x10005092
lea eax, [esp + 0x4e0]
push eax
lea ecx, [esp + 0x284]
call fcn.10001830
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov dword [esp + 0x178], ecx
lea ecx, [esp + 0x4c]
mov byte [esp + 0xeac], 0x5f
mov dword [esp + 0x17c], edx
call fcn.10001800
mov ecx, dword [0x1003f614]
test ecx, ecx
je 0x100045b0
mov ecx, dword [ecx]
mov dword [esp + 0x10], ecx
jmp 0x100045b8
mov dword [esp + 0x10], 0
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], esi
mov esi, dword [esp + 0x188]
mov dword [ecx + 4], edi
mov dword [ecx + 8], esi
mov esi, dword [esp + 0x18c]
mov dword [ecx + 0xc], esi
mov ecx, dword [esp + 0x20]
push ecx
push eax
call dword [edx + 0xb4]
lea edx, [esp + 0x280]
push edx
mov esi, eax
mov byte [esp + 0xeb0], 0x11
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
jge 0x10004606
push eax
call fcn.1000bb00
test esi, esi
jl 0x10005092
test bl, bl
je 0x1000468e
push 0x10017698
lea ecx, [esp + 0x2d4]
call fcn.10001830
mov esi, dword [eax]
mov ebx, dword [eax + 4]
mov edi, dword [eax + 8]
mov eax, dword [eax + 0xc]
lea ecx, [esp + 0x4c]
mov byte [esp + 0xeac], 0x60
mov dword [esp + 0x2bc], eax
call fcn.10001800
mov ecx, dword [0x1003f578]
test ecx, ecx
je 0x10004658
mov ecx, dword [ecx]
mov dword [esp + 0x10], ecx
jmp 0x10004660
mov dword [esp + 0x10], 0
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], esi
mov esi, dword [esp + 0x2cc]
mov dword [ecx + 4], ebx
mov dword [ecx + 8], edi
mov dword [ecx + 0xc], esi
mov ecx, dword [esp + 0x20]
push ecx
push eax
call dword [edx + 0xb4]
lea edx, [esp + 0x2d0]
jmp 0x10004708
push str.desc
lea ecx, [esp + 0x314]
call fcn.10001830
mov esi, dword [eax]
mov ebx, dword [eax + 4]
mov edi, dword [eax + 8]
mov eax, dword [eax + 0xc]
lea ecx, [esp + 0x4c]
mov byte [esp + 0xeac], 0x61
mov dword [esp + 0x2fc], eax
call fcn.10001800
mov ecx, dword [0x1003f578]
test ecx, ecx
je 0x100046d4
mov ecx, dword [ecx]
mov dword [esp + 0x10], ecx
jmp 0x100046dc
mov dword [esp + 0x10], 0
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], esi
mov esi, dword [esp + 0x30c]
mov dword [ecx + 4], ebx
mov dword [ecx + 8], edi
mov dword [ecx + 0xc], esi
mov ecx, dword [esp + 0x20]
push ecx
push eax
call dword [edx + 0xb4]
lea edx, [esp + 0x310]
push edx
mov esi, eax
mov byte [esp + 0xeb0], 0x11
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
jge 0x10004723
push eax
call fcn.1000bb00
test esi, esi
jl 0x10005092
lea ecx, [esp + 0x48]
call fcn.10001800
mov edx, dword [esp + 0x4c]
mov ecx, dword [eax]
push 0
push edx
push eax
call dword [ecx + 0x54]
test eax, eax
jl 0x10005092
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x40]
mov eax, dword [esi + 4]
add esi, 4
inc edi
mov ecx, esi
mov dword [esp + 0x30], edi
call dword [eax + 0xc]
movzx ecx, ax
cmp edi, ecx
jle 0x10004486
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x24]
test al, al
jne 0x10004795
lea ecx, [esp + 0x7c]
call fcn.10001800
mov edx, dword [esp + 0x48]
mov ecx, dword [eax]
push 0
push edx
push eax
call dword [ecx + 0x54]
test eax, eax
jl 0x10005092
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx]
call dword [eax]
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x3c]
mov edx, dword [esi + 4]
add esi, 4
inc ebx
mov ecx, esi
mov dword [esp + 0x24], ebx
call dword [edx + 0x38]
movzx eax, ax
cmp ebx, eax
jle 0x100040f0
lea ecx, [esp + 0x28]
call fcn.10001800
mov edx, dword [esp + 0x70]
mov ecx, dword [eax]
push 0
push edx
push eax
call dword [ecx + 0x54]
test eax, eax
jl 0x10005092
lea ecx, [esp + 0x28]
call fcn.10001800
mov edx, dword [esp + 0x7c]
mov ecx, dword [eax]
push 0
push edx
push eax
call dword [ecx + 0x54]
test eax, eax
jl 0x10005092
mov al, byte [esp + 0x17]
test al, al
je 0x1000500a
lea ecx, [ebp + 8]
call fcn.10001800
mov ecx, dword [0x1003f5b0]
test ecx, ecx
je 0x1000481e
mov ecx, dword [ecx]
jmp 0x10004820
xor ecx, ecx
mov edx, dword [eax]
lea edi, [esp + 0x80]
push edi
push ecx
push eax
call dword [edx + 0xbc]
test eax, eax
jl 0x10005092
mov eax, dword [esi]
mov ecx, esi
mov dword [esp + 0x24], 1
call dword [eax + 0x38]
cmp ax, 1
jb 0x10004fe9
mov edi, dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::destructor_void_]
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0x48]
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x40], ebx
je 0x10005285
mov edx, dword [ebx + 4]
lea esi, [ebx + 4]
mov ecx, esi
call dword [edx + 0x20]
test al, al
jne 0x10004894
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax]
jmp 0x10004fc6
lea ecx, [ebp + 8]
call fcn.10001800
mov ecx, dword [0x1003f5a8]
test ecx, ecx
je 0x100048aa
mov ecx, dword [ecx]
jmp 0x100048ac
xor ecx, ecx
mov edx, dword [eax]
lea ebx, [esp + 0x5c]
push ebx
push ecx
push eax
call dword [edx + 0xbc]
test eax, eax
jl 0x10005092
mov eax, dword [esi]
lea ecx, [esp + 0x940]
push ecx
mov ecx, esi
call dword [eax + 4]
push 0xff
lea edx, [esp + 0x4e4]
push edx
mov ecx, eax
mov byte [esp + 0xeb4], 0x62
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::GetString_char___unsigned_short_int_const]
lea ecx, [esp + 0x940]
mov byte [esp + 0xeac], 0x11
call edi
lea eax, [esp + 0x4e0]
push eax
lea ecx, [esp + 0x334]
call fcn.10001830
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
mov ebx, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [esp + 0xc4], ecx
lea ecx, [esp + 0x5c]
mov byte [esp + 0xeac], 0x63
mov dword [esp + 0xc8], edx
mov dword [esp + 0xcc], eax
call fcn.10001800
mov ecx, dword [0x1003f614]
test ecx, ecx
je 0x10004957
mov ecx, dword [ecx]
mov dword [esp + 0x10], ecx
jmp 0x1000495f
mov dword [esp + 0x10], 0
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], ebx
mov ebx, dword [esp + 0xd4]
mov dword [ecx + 4], ebx
mov ebx, dword [esp + 0xd8]
mov dword [ecx + 8], ebx
mov ebx, dword [esp + 0xdc]
mov dword [ecx + 0xc], ebx
mov ecx, dword [esp + 0x20]
push ecx
push eax
call dword [edx + 0xb4]
lea edx, [esp + 0x330]
push edx
mov ebx, eax
mov byte [esp + 0xeb0], 0x11
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
jge 0x100049b4
push eax
call fcn.1000bb00
test ebx, ebx
jl 0x10005092
mov eax, dword [esi]
lea ecx, [esp + 0x900]
push ecx
mov ecx, esi
call dword [eax + 0x2c]
push 0xff
lea edx, [esp + 0x4e4]
push edx
mov ecx, eax
mov byte [esp + 0xeb4], 0x64
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::GetString_char___unsigned_short_int_const]
lea ecx, [esp + 0x900]
mov byte [esp + 0xeac], 0x11
call edi
lea eax, [esp + 0x4e0]
push eax
lea ecx, [esp + 0x354]
call fcn.10001830
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
mov ebx, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [esp + 0xa4], ecx
lea ecx, [esp + 0x5c]
mov byte [esp + 0xeac], 0x65
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], eax
call fcn.10001800
mov ecx, dword [0x1003f590]
test ecx, ecx
je 0x10004a50
mov ecx, dword [ecx]
mov dword [esp + 0x10], ecx
jmp 0x10004a58
mov dword [esp + 0x10], 0
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], ebx
mov ebx, dword [esp + 0xb4]
mov dword [ecx + 4], ebx
mov ebx, dword [esp + 0xb8]
mov dword [ecx + 8], ebx
mov ebx, dword [esp + 0xbc]
mov dword [ecx + 0xc], ebx
mov ecx, dword [esp + 0x20]
push ecx
push eax
call dword [edx + 0xb4]
lea edx, [esp + 0x350]
push edx
mov ebx, eax
mov byte [esp + 0xeb0], 0x11
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
jge 0x10004aad
push eax
call fcn.1000bb00
test ebx, ebx
jl 0x10005092
mov ebx, dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::constructor_char_const__]
lea eax, [esp + 0x4e0]
push eax
lea ecx, [esp + 0x214]
call ebx
mov ecx, dword [esp + 0x84]
mov edx, dword [ecx]
lea eax, [esp + 0x210]
push eax
mov byte [esp + 0xeb0], 0x66
call dword [edx + 0xc]
lea ecx, [esp + 0x210]
mov dword [esp + 0x10], eax
mov byte [esp + 0xeac], 0x11
call edi
mov eax, dword [esp + 0x10]
test eax, eax
je 0x10005285
mov edx, dword [esi]
lea eax, [esp + 0x980]
push eax
mov ecx, esi
call dword [edx + 0x28]
push 0xff
lea ecx, [esp + 0x4e4]
push ecx
mov ecx, eax
mov byte [esp + 0xeb4], 0x67
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::GetString_char___unsigned_short_int_const]
lea ecx, [esp + 0x980]
mov byte [esp + 0xeac], 0x11
call edi
lea edx, [esp + 0x4e0]
push edx
lea ecx, [esp + 0x1b4]
call ebx
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
add ecx, 4
lea edx, [esp + 0x1b0]
push edx
mov byte [esp + 0xeb0], 0x68
call dword [eax + 0x44]
mov ebx, eax
lea ecx, [esp + 0x1b0]
mov dword [esp + 0x2c], ebx
mov byte [esp + 0xeac], 0x11
call edi
test ebx, ebx
je 0x10005285
mov eax, dword [esi]
mov ecx, esi
mov dword [esp + 0x30], 1
call dword [eax + 0xc]
cmp ax, 1
jb 0x10004f8f
lea esp, [esp]
lea ecx, [ebp + 8]
call fcn.10001800
mov ecx, dword [0x1003f594]
test ecx, ecx
je 0x10004bc6
mov ecx, dword [ecx]
jmp 0x10004bc8
xor ecx, ecx
mov edx, dword [eax]
lea ebx, [esp + 0x54]
push ebx
push ecx
push eax
call dword [edx + 0xbc]
test eax, eax
jl 0x10005092
mov ecx, dword [esp + 0x30]
mov eax, dword [esi]
push ecx
lea edx, [esp + 0x844]
push edx
mov ecx, esi
call dword [eax + 0x10]
push 0xff
lea ecx, [esp + 0x724]
push ecx
mov ecx, eax
mov byte [esp + 0xeb4], 0x69
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::GetString_char___unsigned_short_int_const]
lea ecx, [esp + 0x840]
mov byte [esp + 0xeac], 0x11
call edi
lea edx, [esp + 0x720]
push edx
lea ecx, [esp + 0x374]
call fcn.10001830
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov dword [esp + 0x158], ecx
lea ecx, [esp + 0x54]
mov byte [esp + 0xeac], 0x6a
mov dword [esp + 0x15c], edx
call fcn.10001800
mov ecx, dword [0x1003f5a4]
test ecx, ecx
je 0x10004c71
mov ecx, dword [ecx]
mov dword [esp + 0x20], ecx
jmp 0x10004c79
mov dword [esp + 0x20], 0
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edi
mov edi, dword [esp + 0x168]
mov dword [ecx + 4], ebx
mov dword [ecx + 8], edi
mov edi, dword [esp + 0x16c]
mov dword [ecx + 0xc], edi
mov ecx, dword [esp + 0x30]
push ecx
push eax
call dword [edx + 0xb4]
lea edx, [esp + 0x370]
push edx
mov edi, eax
mov byte [esp + 0xeb0], 0x11
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
jge 0x10004cc7
push eax
call fcn.1000bb00
test edi, edi
jl 0x10005092
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + 4]
push edx
add ecx, 4
lea edx, [esp + 0x864]
push edx
call dword [eax + 0x10]
push 0xff
lea ecx, [esp + 0xda4]
push ecx
mov ecx, eax
mov byte [esp + 0xeb4], 0x6b
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::GetString_char___unsigned_short_int_const]
lea ecx, [esp + 0x860]
mov byte [esp + 0xeac], 0x11
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::destructor_void_]
lea edx, [esp + 0xda0]
push edx
lea ecx, [esp + 0x394]
call fcn.10001830
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov ebx, dword [eax]
mov edi, dword [eax + 4]
mov dword [esp + 0x1a8], ecx
lea ecx, [esp + 0x54]
mov byte [esp + 0xeac], 0x6c
mov dword [esp + 0x1ac], edx
call fcn.10001800
mov ecx, dword [0x1003f58c]
test ecx, ecx
je 0x10004d6b
mov ecx, dword [ecx]
mov dword [esp + 0x20], ecx
jmp 0x10004d73
mov dword [esp + 0x20], 0
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], ebx
mov dword [ecx + 4], edi
mov edi, dword [esp + 0x1b8]
mov dword [ecx + 8], edi
mov edi, dword [esp + 0x1bc]
mov dword [ecx + 0xc], edi
mov ecx, dword [esp + 0x30]
push ecx
push eax
call dword [edx + 0xb4]
lea edx, [esp + 0x390]
push edx
mov edi, eax
mov byte [esp + 0xeb0], 0x11
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
jge 0x10004dc1
push eax
call fcn.1000bb00
test edi, edi
jl 0x10005092
lea eax, [esp + 0x720]
push eax
lea ecx, [esp + 0x134]
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::constructor_char_const__]
mov edx, dword [esi]
lea eax, [esp + 0x130]
push eax
mov ecx, esi
mov byte [esp + 0xeb0], 0x6d
call dword [edx + 0x14]
lea ecx, [esp + 0x130]
mov bl, al
mov byte [esp + 0xeac], 0x11
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::destructor_void_]
test bl, bl
je 0x10004ea1
push str.desc
lea ecx, [esp + 0x3b4]
call fcn.10001830
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov dword [esp + 0xd8], ecx
lea ecx, [esp + 0x54]
mov byte [esp + 0xeac], 0x6e
mov dword [esp + 0xdc], edx
call fcn.10001800
mov ecx, dword [0x1003f578]
test ecx, ecx
je 0x10004e61
mov ecx, dword [ecx]
mov dword [esp + 0x20], ecx
jmp 0x10004e69
mov dword [esp + 0x20], 0
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edi
mov edi, dword [esp + 0xe8]
mov dword [ecx + 4], ebx
mov dword [ecx + 8], edi
mov edi, dword [esp + 0xec]
mov dword [ecx + 0xc], edi
mov ecx, dword [esp + 0x30]
push ecx
push eax
call dword [edx + 0xb4]
lea edx, [esp + 0x3b0]
jmp 0x10004f29
push 0x10017698
lea ecx, [esp + 0x3d4]
call fcn.10001830
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov dword [esp + 0xb8], ecx
lea ecx, [esp + 0x54]
mov byte [esp + 0xeac], 0x6f
mov dword [esp + 0xbc], edx
call fcn.10001800
mov ecx, dword [0x1003f578]
test ecx, ecx
je 0x10004eee
mov ecx, dword [ecx]
mov dword [esp + 0x20], ecx
jmp 0x10004ef6
mov dword [esp + 0x20], 0
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edi
mov edi, dword [esp + 0xc8]
mov dword [ecx + 4], ebx
mov dword [ecx + 8], edi
mov edi, dword [esp + 0xcc]
mov dword [ecx + 0xc], edi
mov ecx, dword [esp + 0x30]
push ecx
push eax
call dword [edx + 0xb4]
lea edx, [esp + 0x3d0]
push edx
mov edi, eax
mov byte [esp + 0xeb0], 0x11
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
jge 0x10004f44
push eax
call fcn.1000bb00
test edi, edi
jl 0x10005092
lea ecx, [esp + 0x5c]
call fcn.10001800
mov edx, dword [esp + 0x54]
mov ecx, dword [eax]
push 0
push edx
push eax
call dword [ecx + 0x54]
test eax, eax
jl 0x10005092
mov edi, dword [esp + 0x30]
mov eax, dword [esi]
inc edi
mov ecx, esi
mov dword [esp + 0x30], edi
call dword [eax + 0xc]
movzx ecx, ax
cmp edi, ecx
mov edi, dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::destructor_void_]
jle 0x10004bb0
mov ebx, dword [esp + 0x2c]
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx]
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx]
call dword [edx]
lea ecx, [esp + 0x80]
call fcn.10001800
mov edx, dword [esp + 0x5c]
mov ecx, dword [eax]
push 0
push edx
push eax
call dword [ecx + 0x54]
test eax, eax
jl 0x10005092
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x3c]
mov eax, dword [esi + 4]
add esi, 4
inc ebx
mov ecx, esi
mov dword [esp + 0x24], ebx
call dword [eax + 0x38]
movzx ecx, ax
cmp ebx, ecx
jle 0x10004860
lea ecx, [esp + 0x28]
call fcn.10001800
mov ecx, dword [esp + 0x80]
mov edx, dword [eax]
push 0
push ecx
push eax
call dword [edx + 0x54]
test eax, eax
jl 0x10005092
lea ecx, [esp + 0x6c]
call fcn.10001800
mov ecx, dword [esp + 0x28]
mov edx, dword [eax]
push 0
push ecx
push eax
call dword [edx + 0x54]
test eax, eax
jl 0x10005092
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx]
call dword [edx]
mov esi, dword [esp + 0x50]
mov ecx, dword [esp + 0x84]
mov eax, dword [ecx]
inc esi
mov dword [esp + 0x50], esi
call dword [eax + 4]
movzx ecx, ax
cmp esi, ecx
jle 0x10003000
mov esi, dword [esp + 0x84]
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 4]
test ax, ax
jbe 0x10005075
lea ecx, [esp + 0x38]
call fcn.10001800
mov edx, dword [esp + 0x6c]
mov ecx, dword [eax]
push 0
push edx
push eax
call dword [ecx + 0x54]
lea ecx, [ebp + 8]
call fcn.10001800
mov edx, dword [esp + 0x38]
mov ecx, dword [eax]
push 0
push edx
push eax
call dword [ecx + 0x54]
test eax, eax
jge 0x10005432
mov ecx, dword [esp + 0x18]
push 0
push 0
push 0
push 0
push 0x1788
call sym.ulxml8.dll_private:_void___thiscall_UlXml::SetLastError_unsigned_int__char_const___char_const___char_const___char_const__
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx]
call dword [eax + 0x58]
lea ecx, [esp + 0x88]
mov byte [esp + 0xeac], 0x10
call fcn.1000a4a0
mov eax, dword [esp + 0x54]
test eax, eax
mov byte [esp + 0xeac], 0xf
je 0x100050db
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x5c]
test eax, eax
mov byte [esp + 0xeac], 0xe
je 0x100050f1
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x80]
test eax, eax
mov byte [esp + 0xeac], 0xd
je 0x1000510a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x4c]
test eax, eax
mov byte [esp + 0xeac], 0xc
je 0x10005120
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x48]
test eax, eax
mov byte [esp + 0xeac], 0xb
je 0x10005136
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x7c]
test eax, eax
mov byte [esp + 0xeac], 0xa
je 0x1000514c
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x70]
test eax, eax
mov byte [esp + 0xeac], 9
je 0x10005162
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x34]
test eax, eax
mov byte [esp + 0xeac], 8
je 0x10005178
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x78]
test eax, eax
mov byte [esp + 0xeac], 7
je 0x1000518e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x28]
test eax, eax
mov byte [esp + 0xeac], 6
je 0x100051a4
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x6c]
test eax, eax
mov byte [esp + 0xeac], 5
je 0x100051ba
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x68]
test eax, eax
mov byte [esp + 0xeac], 4
je 0x100051d0
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x74]
test eax, eax
mov byte [esp + 0xeac], 3
je 0x100051e6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x58]
test eax, eax
mov byte [esp + 0xeac], 2
je 0x100051fc
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x44]
test eax, eax
mov byte [esp + 0xeac], 1
je 0x10005212
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x38]
test eax, eax
mov byte [esp + 0xeac], 0
je 0x10005228
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push eax
mov dword [esp + 0xeb0], 0xffffffff
call dword [ecx + 8]
xor al, al
mov ecx, dword [esp + 0xea4]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [esp + 0x18]
push 0
push 0
push 0
push 0
push 0x1788
call sym.ulxml8.dll_private:_void___thiscall_UlXml::SetLastError_unsigned_int__char_const___char_const___char_const___char_const__
lea ecx, [esp + 0x110]
mov byte [esp + 0xeac], 0x11
call dword [sym.imp.ulrttd8.dll_public:_void___thiscall_ULValue::destructor_void_]
jmp 0x100050a8
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx]
call dword [edx + 0x58]
lea ecx, [esp + 0x88]
mov byte [esp + 0xeac], 0x10
call fcn.1000a4a0
mov eax, dword [esp + 0x54]
test eax, eax
mov byte [esp + 0xeac], 0xf
je 0x100052b8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x5c]
test eax, eax
mov byte [esp + 0xeac], 0xe
je 0x100052ce
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x80]
test eax, eax
mov byte [esp + 0xeac], 0xd
je 0x100052e7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x4c]
test eax, eax
mov byte [esp + 0xeac], 0xc
je 0x100052fd
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x48]
test eax, eax
mov byte [esp + 0xeac], 0xb
je 0x10005313
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x7c]
test eax, eax
mov byte [esp + 0xeac], 0xa
je 0x10005329
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x70]
test eax, eax
mov byte [esp + 0xeac], 9
je 0x1000533f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x34]
test eax, eax
mov byte [esp + 0xeac], 8
je 0x10005355
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x78]
test eax, eax
mov byte [esp + 0xeac], 7
je 0x1000536b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x28]
test eax, eax
mov byte [esp + 0xeac], 6
je 0x10005381
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x6c]
test eax, eax
mov byte [esp + 0xeac], 5
je 0x10005397
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x68]
test eax, eax
mov byte [esp + 0xeac], 4
je 0x100053ad
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x74]
test eax, eax
mov byte [esp + 0xeac], 3
je 0x100053c3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x58]
test eax, eax
mov byte [esp + 0xeac], 2
je 0x100053d9
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x44]
test eax, eax
mov byte [esp + 0xeac], 1
je 0x100053ef
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x38]
test eax, eax
mov byte [esp + 0xeac], 0
je 0x10005405
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push eax
mov dword [esp + 0xeb0], 0xffffffff
call dword [ecx + 8]
xor al, al
mov ecx, dword [esp + 0xea4]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx]
call dword [edx + 0x58]
lea ecx, [esp + 0x88]
mov byte [esp + 0xeac], 0x10
call fcn.1000a4a0
mov eax, dword [esp + 0x54]
test eax, eax
mov byte [esp + 0xeac], 0xf
je 0x10005465
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x5c]
test eax, eax
mov byte [esp + 0xeac], 0xe
je 0x1000547b
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x80]
test eax, eax
mov byte [esp + 0xeac], 0xd
je 0x10005494
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x4c]
test eax, eax
mov byte [esp + 0xeac], 0xc
je 0x100054aa
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x48]
test eax, eax
mov byte [esp + 0xeac], 0xb
je 0x100054c0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x7c]
test eax, eax
mov byte [esp + 0xeac], 0xa
je 0x100054d6
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x70]
test eax, eax
mov byte [esp + 0xeac], 9
je 0x100054ec
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x34]
test eax, eax
mov byte [esp + 0xeac], 8
je 0x10005502
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x78]
test eax, eax
mov byte [esp + 0xeac], 7
je 0x10005518
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x28]
test eax, eax
mov byte [esp + 0xeac], 6
je 0x1000552e
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x6c]
test eax, eax
mov byte [esp + 0xeac], 5
je 0x10005544
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x68]
test eax, eax
mov byte [esp + 0xeac], 4
je 0x1000555a
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x74]
test eax, eax
mov byte [esp + 0xeac], 3
je 0x10005570
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x58]
test eax, eax
mov byte [esp + 0xeac], 2
je 0x10005586
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x44]
test eax, eax
mov byte [esp + 0xeac], 1
je 0x1000559c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x38]
test eax, eax
mov byte [esp + 0xeac], 0
je 0x100055b2
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push eax
mov dword [esp + 0xeb0], 0xffffffff
call dword [ecx + 8]
mov ecx, dword [esp + 0xea4]
pop edi
pop esi
mov al, 1
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 8