Function at 0x4041c0
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44ad88
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x158
push ebx
mov ebx, ecx
push esi
push edi
mov eax, dword [ebx + 0x14]
lea edi, [ebx + 0x88]
mov ecx, 0xa8
mov esi, eax
rep movsd dword es:[edi], dword [esi]
lea esi, [eax + 0x2a0]
add eax, 0x368
mov dword [ebp - 0x54], eax
mov eax, dword [ebx + 0x80]
mov ecx, 0x32
lea edi, [ebp - 0x164]
test eax, eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x28], ebx
mov byte [ebp - 0x49], 0
rep movsd dword es:[edi], dword [esi]
jne 0x4043a1
push str.SELECT__FROM_FCFH_BLDG_WHERE_ID___1
mov word [ebp - 0x38], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x30], eax
jne 0x404252
mov eax, str.SELECT__FROM_FCFH_BLDG_WHERE_ID___1
test eax, eax
je 0x404252
push 0x8007000e
call fcn.0042d648
mov eax, dword [0x4661b0]
mov word [ebp - 0x48], 9
mov dword [ebp - 0x40], eax
push eax
mov ecx, dword [eax]
mov dword [ebp - 4], 0
call dword [ecx + 4]
mov eax, dword [ebx + 0x32c]
lea esi, [ebx + 0x32c]
test eax, eax
mov byte [ebp - 4], 1
jne 0x40428b
push 0x80004003
call fcn.0042d648
mov ecx, dword [ebp - 0x48]
push 1
push 2
push 2
sub esp, 0x10
mov edi, dword [esi]
mov eax, esp
sub esp, 0x10
mov edx, dword [edi]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x40]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x3c]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp - 0x38]
mov eax, esp
push edi
mov dword [eax], ecx
mov ecx, dword [ebp - 0x34]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x30]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0xc], ecx
call dword [edx + 0xa0]
test eax, eax
jge 0x4042e4
push 0x45f358
push edi
push eax
call fcn.0042d656
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [ebp - 0x48]
push edx
mov byte [ebp - 4], 0
call edi
test eax, eax
jge 0x4042fe
push eax
call fcn.0042d648
lea eax, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
push eax
call edi
test eax, eax
jge 0x404315
push eax
call fcn.0042d648
cmp dword [esi], 0
jne 0x404324
push 0x80004003
call fcn.0042d648
mov eax, dword [0x468e00]
mov edx, dword [0x468e04]
mov ebx, dword [0x468e08]
sub esp, 0x10
mov ecx, eax
mov dword [ebp - 0x24], eax
mov eax, esp
mov edi, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [0x468e0c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x40]
sub esp, 0x10
mov esi, dword [esi]
mov dword [eax + 4], edi
mov dword [ebp - 0x20], edx
mov edx, dword [esi]
mov dword [eax + 8], ecx
mov ecx, esp
push esi
mov dword [eax + 0xc], ebx
mov eax, dword [ebp - 0x24]
mov dword [ecx], eax
mov eax, edi
mov dword [ecx + 4], eax
mov eax, dword [0x468e08]
mov dword [ecx + 8], eax
mov eax, ebx
mov dword [ecx + 0xc], eax
call dword [edx + 0x78]
test eax, eax
jge 0x40438f
push 0x45f358
push esi
push eax
call fcn.0042d656
mov ebx, dword [ebp - 0x28]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov byte [ebp - 0x49], 1
jmp 0x40456e
mov ecx, dword [0x461fe4]
mov dword [ebp - 0x50], ecx
push eax
lea edx, [ebp - 0x50]
push str.SELECT__FROM_FCFH_BLDG_WHERE_ID___d
push edx
mov dword [ebp - 4], 2
call fcn.0042dd0d
mov eax, dword [ebp - 0x50]
add esp, 0xc
mov esi, eax
mov word [ebp - 0x38], 8
push eax
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x30], eax
jne 0x4043e9
test esi, esi
je 0x4043e9
push 0x8007000e
call fcn.0042d648
mov eax, dword [0x4661b0]
mov word [ebp - 0x48], 9
mov dword [ebp - 0x40], eax
push eax
mov ecx, dword [eax]
mov byte [ebp - 4], 3
call dword [ecx + 4]
mov eax, dword [ebx + 0x32c]
lea esi, [ebx + 0x32c]
test eax, eax
mov byte [ebp - 4], 4
jne 0x40441f
push 0x80004003
call fcn.0042d648
mov ecx, dword [ebp - 0x48]
push 1
push 2
push 2
sub esp, 0x10
mov edi, dword [esi]
mov eax, esp
sub esp, 0x10
mov edx, dword [edi]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x40]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x3c]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp - 0x38]
mov eax, esp
push edi
mov dword [eax], ecx
mov ecx, dword [ebp - 0x34]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x30]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0xc], ecx
call dword [edx + 0xa0]
test eax, eax
jge 0x404478
push 0x45f358
push edi
push eax
call fcn.0042d656
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [ebp - 0x48]
push edx
mov byte [ebp - 4], 3
call edi
test eax, eax
jge 0x404492
push eax
call fcn.0042d648
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 2
push eax
call edi
test eax, eax
jge 0x4044a6
push eax
call fcn.0042d648
cmp dword [esi], 0
jne 0x4044b5
push 0x80004003
call fcn.0042d648
mov edi, dword [esi]
lea edx, [ebp - 0x14]
push edx
push edi
mov ecx, dword [edi]
call dword [ecx + 0x68]
test eax, eax
jge 0x4044d1
push 0x45f358
push edi
push eax
call fcn.0042d656
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x404556
cmp dword [esi], 0
jne 0x4044e7
push 0x80004003
call fcn.0042d648
mov eax, dword [0x468e00]
mov edx, dword [0x468e04]
mov ebx, dword [0x468e08]
sub esp, 0x10
mov ecx, eax
mov dword [ebp - 0x24], eax
mov eax, esp
mov edi, edx
mov dword [ebp - 0x74], ebx
mov ebx, dword [0x468e0c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x74]
sub esp, 0x10
mov esi, dword [esi]
mov dword [eax + 4], edi
mov dword [ebp - 0x20], edx
mov edx, dword [esi]
mov dword [eax + 8], ecx
mov ecx, esp
push esi
mov dword [eax + 0xc], ebx
mov eax, dword [ebp - 0x24]
mov dword [ecx], eax
mov eax, edi
mov dword [ecx + 4], eax
mov eax, dword [0x468e08]
mov dword [ecx + 8], eax
mov eax, ebx
mov dword [ecx + 0xc], eax
call dword [edx + 0x78]
test eax, eax
jge 0x404552
push 0x45f358
push esi
push eax
call fcn.0042d656
mov byte [ebp - 0x49], 1
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.00431222
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ebx, dword [ebp - 0x28]
mov esi, dword [ebx + 0x18]
push str.ClientInfo
add esi, 0xfffffc98
mov word [ebp - 0x38], 8
mov dword [ebx + 0x18], esi
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x30], eax
jne 0x4045a4
mov ecx, str.ClientInfo
test ecx, ecx
je 0x4045a4
push 0x8007000e
call fcn.0042d648
mov esi, dword [ebx + 0x58]
mov dword [ebp - 4], 5
push esi
mov word [ebp - 0x48], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x40], eax
jne 0x4045cf
test esi, esi
je 0x4045cf
push 0x8007000e
call fcn.0042d648
mov eax, dword [ebx + 0x32c]
add ebx, 0x32c
test eax, eax
mov byte [ebp - 4], 6
mov dword [ebp - 0x14], ebx
jne 0x4045f0
push 0x80004003
call fcn.0042d648
mov ecx, dword [ebp - 0x48]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
mov esi, dword [ebx]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x44]
mov edx, dword [esi]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x40]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x3c]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp - 0x38]
mov eax, esp
push esi
mov dword [eax], ecx
mov ecx, dword [ebp - 0x34]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x30]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0xc], ecx
call dword [edx + 0x100]
test eax, eax
jge 0x404643
push 0x45f358
push esi
push eax
call fcn.0042d656
lea edx, [ebp - 0x48]
mov byte [ebp - 4], 5
push edx
call edi
test eax, eax
jge 0x404657
push eax
call fcn.0042d648
lea eax, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
push eax
call edi
test eax, eax
jge 0x40466e
push eax
call fcn.0042d648
mov ecx, dword [ebp - 0x28]
mov word [ebp - 0x38], 3
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0x30], eax
mov ebx, 7
push str.DataLen
mov dword [ebp - 4], ebx
mov word [ebp - 0x48], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x40], eax
jne 0x4046af
mov edx, str.DataLen
test edx, edx
je 0x4046af
push 0x8007000e
call fcn.0042d648
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 8
cmp dword [eax], 0
jne 0x4046c5
push 0x80004003
call fcn.0042d648
mov ecx, dword [ebp - 0x14]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
mov esi, dword [ecx]
mov ecx, dword [ebp - 0x38]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x34]
mov edx, dword [esi]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x30]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp - 0x48]
mov eax, esp
push esi
mov dword [eax], ecx
mov ecx, dword [ebp - 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x40]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x3c]
mov dword [eax + 0xc], ecx
call dword [edx + 0x100]
test eax, eax
jge 0x40471b
push 0x45f358
push esi
push eax
call fcn.0042d656
lea edx, [ebp - 0x48]
mov byte [ebp - 4], bl
push edx
call edi
test eax, eax
jge 0x40472e
push eax
call fcn.0042d648
lea eax, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
push eax
call edi
test eax, eax
jge 0x404745
push eax
call fcn.0042d648
mov ecx, dword [ebp - 0x28]
mov word [ebp - 0x38], 3
mov eax, dword [ecx + 0x1c]
mov dword [ebp - 0x30], eax
push str.OriginLen
mov dword [ebp - 4], 9
mov word [ebp - 0x48], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x40], eax
jne 0x404785
mov edx, str.OriginLen
test edx, edx
je 0x404785
push 0x8007000e
call fcn.0042d648
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0xa
cmp dword [eax], 0
jne 0x40479b
push 0x80004003
call fcn.0042d648
mov ecx, dword [ebp - 0x14]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
mov esi, dword [ecx]
mov ecx, dword [ebp - 0x38]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x34]
mov edx, dword [esi]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x30]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp - 0x48]
mov eax, esp
push esi
mov dword [eax], ecx
mov ecx, dword [ebp - 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x40]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x3c]
mov dword [eax + 0xc], ecx
call dword [edx + 0x100]
test eax, eax
jge 0x4047f1
push 0x45f358
push esi
push eax
call fcn.0042d656
lea edx, [ebp - 0x48]
mov byte [ebp - 4], 9
push edx
call edi
test eax, eax
jge 0x404805
push eax
call fcn.0042d648
lea eax, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
push eax
call edi
test eax, eax
jge 0x40481c
push eax
call fcn.0042d648
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 4], 0xb
mov al, byte [ecx + 0x8c]
lea esi, [ecx + 0x8c]
test al, al
je 0x40491d
push str.DistrictNo
mov word [ebp - 0x24], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x1c], eax
jne 0x404864
mov edx, str.DistrictNo
test edx, edx
je 0x404864
push 0x8007000e
call fcn.0042d648
mov bl, 0xc
push esi
mov byte [ebp - 4], bl
mov word [ebp - 0x38], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x30], eax
jne 0x40488a
test esi, esi
je 0x40488a
push 0x8007000e
call fcn.0042d648
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0xd
cmp dword [eax], 0
jne 0x4048a0
push 0x80004003
call fcn.0042d648
mov ecx, dword [ebp - 0x14]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
mov esi, dword [ecx]
mov ecx, dword [ebp - 0x38]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x34]
mov edx, dword [esi]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x30]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp - 0x24]
mov eax, esp
push esi
mov dword [eax], ecx
mov ecx, dword [ebp - 0x20]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x18]
mov dword [eax + 0xc], ecx
call dword [edx + 0x100]
test eax, eax
jge 0x4048f6
push 0x45f358
push esi
push eax
call fcn.0042d656
lea edx, [ebp - 0x38]
mov byte [ebp - 4], bl
push edx
call edi
test eax, eax
jge 0x404909
push eax
call fcn.0042d648
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0xb
push eax
call edi
test eax, eax
jge 0x40491d
push eax
call fcn.0042d648
mov ecx, dword [ebp - 0x28]
mov al, byte [ecx + 0x95]
lea esi, [ecx + 0x95]
test al, al
je 0x404a17
push str.MapBlockNo
mov word [ebp - 0x38], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x30], eax
jne 0x40495e
mov edx, str.MapBlockNo
test edx, edx
je 0x40495e
push 0x8007000e
call fcn.0042d648
mov bl, 0xe
push esi
mov byte [ebp - 4], bl
mov word [ebp - 0x24], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x1c], eax
jne 0x404984
test esi, esi
je 0x404984
push 0x8007000e
call fcn.0042d648
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0xf
cmp dword [eax], 0
jne 0x40499a
push 0x80004003
call fcn.0042d648
mov ecx, dword [ebp - 0x14]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
mov esi, dword [ecx]
mov ecx, dword [ebp - 0x24]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x20]
mov edx, dword [esi]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x18]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp - 0x38]
mov eax, esp
push esi
mov dword [eax], ecx
mov ecx, dword [ebp - 0x34]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x30]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0xc], ecx
call dword [edx + 0x100]
test eax, eax
jge 0x4049f0
push 0x45f358
push esi
push eax
call fcn.0042d656
lea edx, [ebp - 0x24]
mov byte [ebp - 4], bl
push edx
call edi
test eax, eax
jge 0x404a03
push eax
call fcn.0042d648
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0xb
push eax
call edi
test eax, eax
jge 0x404a17
push eax
call fcn.0042d648
mov ecx, dword [ebp - 0x28]
mov al, byte [ecx + 0xa5]
lea esi, [ecx + 0xa5]
test al, al
je 0x404b11
push str.HillNo
mov word [ebp - 0x38], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x30], eax
jne 0x404a58
mov edx, str.HillNo
test edx, edx
je 0x404a58
push 0x8007000e
call fcn.0042d648
mov bl, 0x10
push esi
mov byte [ebp - 4], bl
mov word [ebp - 0x24], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x1c], eax
jne 0x404a7e
test esi, esi
je 0x404a7e
push 0x8007000e
call fcn.0042d648
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x11
cmp dword [eax], 0
jne 0x404a94
push 0x80004003
call fcn.0042d648
mov ecx, dword [ebp - 0x14]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
mov esi, dword [ecx]
mov ecx, dword [ebp - 0x24]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x20]
mov edx, dword [esi]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x18]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp - 0x38]
mov eax, esp
push esi
mov dword [eax], ecx
mov ecx, dword [ebp - 0x34]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x30]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0xc], ecx
call dword [edx + 0x100]
test eax, eax
jge 0x404aea
push 0x45f358
push esi
push eax
call fcn.0042d656
lea edx, [ebp - 0x24]
mov byte [ebp - 4], bl
push edx
call edi
test eax, eax
jge 0x404afd
push eax
call fcn.0042d648
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0xb
push eax
call edi
test eax, eax
jge 0x404b11
push eax
call fcn.0042d648
mov ecx, dword [ebp - 0x28]
mov al, byte [ecx + 0xac]
lea esi, [ecx + 0xac]
test al, al
je 0x404c0b
push str.BuildNo
mov word [ebp - 0x38], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x30], eax
jne 0x404b52
mov edx, str.BuildNo
test edx, edx
je 0x404b52
push 0x8007000e
call fcn.0042d648
mov bl, 0x12
push esi
mov byte [ebp - 4], bl
mov word [ebp - 0x24], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x1c], eax
jne 0x404b78
test esi, esi
je 0x404b78
push 0x8007000e
call fcn.0042d648
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x13
cmp dword [eax], 0
jne 0x404b8e
push 0x80004003
call fcn.0042d648
mov ecx, dword [ebp - 0x14]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
mov esi, dword [ecx]
mov ecx, dword [ebp - 0x24]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x20]
mov edx, dword [esi]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x18]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp - 0x38]
mov eax, esp
push esi
mov dword [eax], ecx
mov ecx, dword [ebp - 0x34]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x30]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0xc], ecx
call dword [edx + 0x100]
test eax, eax
jge 0x404be4
push 0x45f358
push esi
push eax
call fcn.0042d656
lea edx, [ebp - 0x24]
mov byte [ebp - 4], bl
push edx
call edi
test eax, eax
jge 0x404bf7
push eax
call fcn.0042d648
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0xb
push eax
call edi
test eax, eax
jge 0x404c0b
push eax
call fcn.0042d648
mov ecx, dword [ebp - 0x28]
mov al, byte [ecx + 0xb7]
lea ebx, [ecx + 0xb7]
test al, al
je 0x404d12
mov esi, 8
push str.HouseNo
mov word [ebp - 0x38], si
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x30], eax
jne 0x404c4f
mov edx, str.HouseNo
test edx, edx
je 0x404c4f
push 0x8007000e
call fcn.0042d648
push ebx
mov byte [ebp - 4], 0x14
mov word [ebp - 0x24], si
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x1c], eax
jne 0x404c72
test ebx, ebx
je 0x404c72
push 0x8007000e
call fcn.0042d648
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x15
cmp dword [eax], 0
jne 0x404c88
push 0x80004003
call fcn.0042d648
mov ecx, dword [ebp - 0x14]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
mov esi, dword [ecx]
mov ecx, dword [ebp - 0x24]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x20]
mov edx, dword [esi]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x18]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp - 0x38]
mov eax, esp
push esi
mov dword [eax], ecx
mov ecx, dword [ebp - 0x34]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x30]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0xc], ecx
call dword [edx + 0x100]
test eax, eax
jge 0x404cde
push 0x45f358
push esi
push eax
call fcn.0042d656
lea edx, [ebp - 0x24]
mov byte [ebp - 4], 0x14
push edx
call edi
test eax, eax
jge 0x404cf2
push eax
call fcn.0042d648
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0xb
push eax
call edi
test eax, eax
jge 0x404d06
push eax
call fcn.0042d648
mov ecx, dword [ebp - 0x28]
push ebx
add ecx, 0x68
call fcn.004313ab
mov edx, dword [ebp - 0x28]
mov al, byte [edx + 0xb3]
lea esi, [edx + 0xb3]
test al, al
je 0x404e0c
push str.FlatNum
mov word [ebp - 0x38], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x30], eax
jne 0x404d53
mov eax, str.FlatNum
test eax, eax
je 0x404d53
push 0x8007000e
call fcn.0042d648
mov bl, 0x16
push esi
mov byte [ebp - 4], bl
mov word [ebp - 0x24], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x1c], eax
jne 0x404d79
test esi, esi
je 0x404d79
push 0x8007000e
call fcn.0042d648
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x17
cmp dword [ecx], 0
jne 0x404d8f
push 0x80004003
call fcn.0042d648
mov edx, dword [ebp - 0x14]
sub esp, 0x10
mov ecx, esp
sub esp, 0x10
mov esi, dword [edx]
mov edx, dword [ebp - 0x24]
mov dword [ecx], edx
mov edx, dword [ebp - 0x20]
mov eax, dword [esi]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x1c]
mov dword [ecx + 8], edx
mov edx, dword [ebp - 0x18]
mov dword [ecx + 0xc], edx
mov edx, dword [ebp - 0x38]
mov ecx, esp
push esi
mov dword [ecx], edx
mov edx, dword [ebp - 0x34]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x30]
mov dword [ecx + 8], edx
mov edx, dword [ebp - 0x2c]
mov dword [ecx + 0xc], edx
call dword [eax + 0x100]
test eax, eax
jge 0x404de5
push 0x45f358
push esi
push eax
call fcn.0042d656
lea eax, [ebp - 0x24]
mov byte [ebp - 4], bl
push eax
call edi
test eax, eax
jge 0x404df8
push eax
call fcn.0042d648
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0xb
push ecx
call edi
test eax, eax
jge 0x404e0c
push eax
call fcn.0042d648
mov edx, dword [ebp - 0x28]
mov al, byte [edx + 0xd9]
lea esi, [edx + 0xd9]
test al, al
je 0x404f06
push str.BuildYear
mov word [ebp - 0x38], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x30], eax
jne 0x404e4d
mov eax, str.BuildYear
test eax, eax
je 0x404e4d
push 0x8007000e
call fcn.0042d648
mov bl, 0x18
push esi
mov byte [ebp - 4], bl
mov word [ebp - 0x24], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x1c], eax
jne 0x404e73
test esi, esi
je 0x404e73
push 0x8007000e
call fcn.0042d648
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x19
cmp dword [ecx], 0
jne 0x404e89
push 0x80004003
call fcn.0042d648
mov edx, dword [ebp - 0x14]
sub esp, 0x10
mov ecx, esp
sub esp, 0x10
mov esi, dword [edx]
mov edx, dword [ebp - 0x24]
mov dword [ecx], edx
mov edx, dword [ebp - 0x20]
mov eax, dword [esi]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x1c]
mov dword [ecx + 8], edx
mov edx, dword [ebp - 0x18]
mov dword [ecx + 0xc], edx
mov edx, dword [ebp - 0x38]
mov ecx, esp
push esi
mov dword [ecx], edx
mov edx, dword [ebp - 0x34]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x30]
mov dword [ecx + 8], edx
mov edx, dword [ebp - 0x2c]
mov dword [ecx + 0xc], edx
call dword [eax + 0x100]
test eax, eax
jge 0x404edf
push 0x45f358
push esi
push eax
call fcn.0042d656
lea eax, [ebp - 0x24]
mov byte [ebp - 4], bl
push eax
call edi
test eax, eax
jge 0x404ef2
push eax
call fcn.0042d648
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0xb
push ecx
call edi
test eax, eax
jge 0x404f06
push eax
call fcn.0042d648
mov edx, dword [ebp - 0x28]
mov al, byte [edx + 0xd3]
lea esi, [edx + 0xd3]
test al, al
je 0x405000
push str.Struct
mov word [ebp - 0x38], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x30], eax
jne 0x404f47
mov eax, str.Struct
test eax, eax
je 0x404f47
push 0x8007000e
call fcn.0042d648
mov bl, 0x1a
push esi
mov byte [ebp - 4], bl
mov word [ebp - 0x24], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x1c], eax
jne 0x404f6d
test esi, esi
je 0x404f6d
push 0x8007000e
call fcn.0042d648
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x1b
cmp dword [ecx], 0
jne 0x404f83
push 0x80004003
call fcn.0042d648
mov edx, dword [ebp - 0x14]
sub esp, 0x10
mov ecx, esp
sub esp, 0x10
mov esi, dword [edx]
mov edx, dword [ebp - 0x24]
mov dword [ecx], edx
mov edx, dword [ebp - 0x20]
mov eax, dword [esi]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x1c]
mov dword [ecx + 8], edx
mov edx, dword [ebp - 0x18]
mov dword [ecx + 0xc], edx
mov edx, dword [ebp - 0x38]
mov ecx, esp
push esi
mov dword [ecx], edx
mov edx, dword [ebp - 0x34]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x30]
mov dword [ecx + 8], edx
mov edx, dword [ebp - 0x2c]
mov dword [ecx + 0xc], edx
call dword [eax + 0x100]
test eax, eax
jge 0x404fd9
push 0x45f358
push esi
push eax
call fcn.0042d656
lea eax, [ebp - 0x24]
mov byte [ebp - 4], bl
push eax
call edi
test eax, eax
jge 0x404fec
push eax
call fcn.0042d648
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0xb
push ecx
call edi
test eax, eax
jge 0x405000
push eax
call fcn.0042d648
mov edx, dword [ebp - 0x28]
mov al, byte [edx + 0xd6]
lea esi, [edx + 0xd6]
test al, al
je 0x4050fa
push str.Usage
mov word [ebp - 0x38], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x30], eax
jne 0x405041
mov eax, str.Usage
test eax, eax
je 0x405041
push 0x8007000e
call fcn.0042d648
mov bl, 0x1c
push esi
mov byte [ebp - 4], bl
mov word [ebp - 0x24], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x1c], eax
jne 0x405067
test esi, esi
je 0x405067
push 0x8007000e
call fcn.0042d648
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x1d
cmp dword [ecx], 0
jne 0x40507d
push 0x80004003
call fcn.0042d648
mov edx, dword [ebp - 0x14]
sub esp, 0x10
mov ecx, esp
sub esp, 0x10
mov esi, dword [edx]
mov edx, dword [ebp - 0x24]
mov dword [ecx], edx
mov edx, dword [ebp - 0x20]
mov eax, dword [esi]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x1c]
mov dword [ecx + 8], edx
mov edx, dword [ebp - 0x18]
mov dword [ecx + 0xc], edx
mov edx, dword [ebp - 0x38]
mov ecx, esp
push esi
mov dword [ecx], edx
mov edx, dword [ebp - 0x34]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x30]
mov dword [ecx + 8], edx
mov edx, dword [ebp - 0x2c]
mov dword [ecx + 0xc], edx
call dword [eax + 0x100]
test eax, eax
jge 0x4050d3
push 0x45f358
push esi
push eax
call fcn.0042d656
lea eax, [ebp - 0x24]
mov byte [ebp - 4], bl
push eax
call edi
test eax, eax
jge 0x4050e6
push eax
call fcn.0042d648
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0xb
push ecx
call edi
test eax, eax
jge 0x4050fa
push eax
call fcn.0042d648
mov edx, dword [ebp - 0x28]
mov al, byte [edx + 0x118]
lea esi, [edx + 0x118]
test al, al
je 0x4051f4
push str.District
mov word [ebp - 0x38], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x30], eax
jne 0x40513b
mov eax, str.District
test eax, eax
je 0x40513b
push 0x8007000e
call fcn.0042d648
mov bl, 0x1e
push esi
mov byte [ebp - 4], bl
mov word [ebp - 0x24], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x1c], eax
jne 0x405161
test esi, esi
je 0x405161
push 0x8007000e
call fcn.0042d648
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x1f
cmp dword [ecx], 0
jne 0x405177
push 0x80004003
call fcn.0042d648
mov edx, dword [ebp - 0x14]
sub esp, 0x10
mov ecx, esp
sub esp, 0x10
mov esi, dword [edx]
mov edx, dword [ebp - 0x24]
mov dword [ecx], edx
mov edx, dword [ebp - 0x20]
mov eax, dword [esi]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x1c]
mov dword [ecx + 8], edx
mov edx, dword [ebp - 0x18]
mov dword [ecx + 0xc], edx
mov edx, dword [ebp - 0x38]
mov ecx, esp
push esi
mov dword [ecx], edx
mov edx, dword [ebp - 0x34]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x30]
mov dword [ecx + 8], edx
mov edx, dword [ebp - 0x2c]
mov dword [ecx + 0xc], edx
call dword [eax + 0x100]
test eax, eax
jge 0x4051cd
push 0x45f358
push esi
push eax
call fcn.0042d656
lea eax, [ebp - 0x24]
mov byte [ebp - 4], bl
push eax
call edi
test eax, eax
jge 0x4051e0
push eax
call fcn.0042d648
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0xb
push ecx
call edi
test eax, eax
jge 0x4051f4
push eax
call fcn.0042d648
mov edx, dword [ebp - 0x28]
mov al, byte [edx + 0x129]
lea esi, [edx + 0x129]
test al, al
je 0x4052ee
push str.Street
mov word [ebp - 0x38], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x30], eax
jne 0x405235
mov eax, str.Street
test eax, eax
je 0x405235
push 0x8007000e
call fcn.0042d648
mov bl, 0x20
push esi
mov byte [ebp - 4], bl
mov word [ebp - 0x24], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x1c], eax
jne 0x40525b
test esi, esi
je 0x40525b
push 0x8007000e
call fcn.0042d648
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x21
cmp dword [ecx], 0
jne 0x405271
push 0x80004003
call fcn.0042d648
mov edx, dword [ebp - 0x14]
sub esp, 0x10
mov ecx, esp
sub esp, 0x10
mov esi, dword [edx]
mov edx, dword [ebp - 0x24]
mov dword [ecx], edx
mov edx, dword [ebp - 0x20]
mov eax, dword [esi]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x1c]
mov dword [ecx + 8], edx
mov edx, dword [ebp - 0x18]
mov dword [ecx + 0xc], edx
mov edx, dword [ebp - 0x38]
mov ecx, esp
push esi
mov dword [ecx], edx
mov edx, dword [ebp - 0x34]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x30]
mov dword [ecx + 8], edx
mov edx, dword [ebp - 0x2c]
mov dword [ecx + 0xc], edx
call dword [eax + 0x100]
test eax, eax
jge 0x4052c7
push 0x45f358
push esi
push eax
call fcn.0042d656
lea eax, [ebp - 0x24]
mov byte [ebp - 4], bl
push eax
call edi
test eax, eax
jge 0x4052da
push eax
call fcn.0042d648
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0xb
push ecx
call edi
test eax, eax
jge 0x4052ee
push eax
call fcn.0042d648
mov edx, dword [ebp - 0x28]
mov al, byte [edx + 0x15b]
lea esi, [edx + 0x15b]
test al, al
je 0x4053e8
push str.Door
mov word [ebp - 0x38], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x30], eax
jne 0x40532f
mov eax, str.Door
test eax, eax
je 0x40532f
push 0x8007000e
call fcn.0042d648
mov bl, 0x22
push esi
mov byte [ebp - 4], bl
mov word [ebp - 0x24], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x1c], eax
jne 0x405355
test esi, esi
je 0x405355
push 0x8007000e
call fcn.0042d648
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x23
cmp dword [ecx], 0
jne 0x40536b
push 0x80004003
call fcn.0042d648
mov edx, dword [ebp - 0x14]
sub esp, 0x10
mov ecx, esp
sub esp, 0x10
mov esi, dword [edx]
mov edx, dword [ebp - 0x24]
mov dword [ecx], edx
mov edx, dword [ebp - 0x20]
mov eax, dword [esi]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x1c]
mov dword [ecx + 8], edx
mov edx, dword [ebp - 0x18]
mov dword [ecx + 0xc], edx
mov edx, dword [ebp - 0x38]
mov ecx, esp
push esi
mov dword [ecx], edx
mov edx, dword [ebp - 0x34]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x30]
mov dword [ecx + 8], edx
mov edx, dword [ebp - 0x2c]
mov dword [ecx + 0xc], edx
call dword [eax + 0x100]
test eax, eax
jge 0x4053c1
push 0x45f358
push esi
push eax
call fcn.0042d656
lea eax, [ebp - 0x24]
mov byte [ebp - 4], bl
push eax
call edi
test eax, eax
jge 0x4053d4
push eax
call fcn.0042d648
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0xb
push ecx
call edi
test eax, eax
jge 0x4053e8
push eax
call fcn.0042d648
mov edx, dword [ebp - 0x28]
mov al, byte [edx + 0x165]
lea esi, [edx + 0x165]
test al, al
je 0x4054e2
push str.Building
mov word [ebp - 0x38], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x30], eax
jne 0x405429
mov eax, str.Building
test eax, eax
je 0x405429
push 0x8007000e
call fcn.0042d648
mov bl, 0x24
push esi
mov byte [ebp - 4], bl
mov word [ebp - 0x24], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x1c], eax
jne 0x40544f
test esi, esi
je 0x40544f
push 0x8007000e
call fcn.0042d648
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x25
cmp dword [ecx], 0
jne 0x405465
push 0x80004003
call fcn.0042d648
mov edx, dword [ebp - 0x14]
sub esp, 0x10
mov ecx, esp
sub esp, 0x10
mov esi, dword [edx]
mov edx, dword [ebp - 0x24]
mov dword [ecx], edx
mov edx, dword [ebp - 0x20]
mov eax, dword [esi]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x1c]
mov dword [ecx + 8], edx
mov edx, dword [ebp - 0x18]
mov dword [ecx + 0xc], edx
mov edx, dword [ebp - 0x38]
mov ecx, esp
push esi
mov dword [ecx], edx
mov edx, dword [ebp - 0x34]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x30]
mov dword [ecx + 8], edx
mov edx, dword [ebp - 0x2c]
mov dword [ecx + 0xc], edx
call dword [eax + 0x100]
test eax, eax
jge 0x4054bb
push 0x45f358
push esi
push eax
call fcn.0042d656
lea eax, [ebp - 0x24]
mov byte [ebp - 4], bl
push eax
call edi
test eax, eax
jge 0x4054ce
push eax
call fcn.0042d648
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0xb
push ecx
call edi
test eax, eax
jge 0x4054e2
push eax
call fcn.0042d648
mov edx, dword [ebp - 0x28]
mov al, byte [edx + 0x16d]
lea esi, [edx + 0x16d]
test al, al
je 0x4055dc
push str.Site
mov word [ebp - 0x38], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x30], eax
jne 0x405523
mov eax, str.Site
test eax, eax
je 0x405523
push 0x8007000e
call fcn.0042d648
mov bl, 0x26
push esi
mov byte [ebp - 4], bl
mov word [ebp - 0x24], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x1c], eax
jne 0x405549
test esi, esi
je 0x405549
push 0x8007000e
call fcn.0042d648
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x27
cmp dword [ecx], 0
jne 0x40555f
push 0x80004003
call fcn.0042d648
mov edx, dword [ebp - 0x14]
sub esp, 0x10
mov ecx, esp
sub esp, 0x10
mov esi, dword [edx]
mov edx, dword [ebp - 0x24]
mov dword [ecx], edx
mov edx, dword [ebp - 0x20]
mov eax, dword [esi]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x1c]
mov dword [ecx + 8], edx
mov edx, dword [ebp - 0x18]
mov dword [ecx + 0xc], edx
mov edx, dword [ebp - 0x38]
mov ecx, esp
push esi
mov dword [ecx], edx
mov edx, dword [ebp - 0x34]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x30]
mov dword [ecx + 8], edx
mov edx, dword [ebp - 0x2c]
mov dword [ecx + 0xc], edx
call dword [eax + 0x100]
test eax, eax
jge 0x4055b5
push 0x45f358
push esi
push eax
call fcn.0042d656
lea eax, [ebp - 0x24]
mov byte [ebp - 4], bl
push eax
call edi
test eax, eax
jge 0x4055c8
push eax
call fcn.0042d648
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0xb
push ecx
call edi
test eax, eax
jge 0x4055dc
push eax
call fcn.0042d648
mov al, byte [ebp - 0x15c]
test al, al
je 0x4056bf
lea edx, [ebp - 0x15c]
push edx
call fcn.004227d9
add esp, 4
mov esi, eax
mov word [ebp - 0x38], 8
push str.RoomSets
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x30], eax
jne 0x405625
mov eax, str.RoomSets
test eax, eax
je 0x405625
push 0x8007000e
call fcn.0042d648
mov word [ebp - 0x24], 3
mov dword [ebp - 0x1c], esi
mov esi, dword [ebp - 0x14]
mov byte [ebp - 4], 0x29
cmp dword [esi], 0
jne 0x405644
push 0x80004003
call fcn.0042d648
mov eax, dword [ebp - 0x24]
sub esp, 0x10
mov edx, esp
sub esp, 0x10
mov esi, dword [esi]
mov dword [edx], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [esi]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x18]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 0x38]
mov edx, esp
push esi
mov dword [edx], eax
mov eax, dword [ebp - 0x34]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x30]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x2c]
mov dword [edx + 0xc], eax
call dword [ecx + 0x100]
test eax, eax
jge 0x405697
push 0x45f358
push esi
push eax
call fcn.0042d656
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x28
push ecx
call edi
test eax, eax
jge 0x4056ab
push eax
call fcn.0042d648
lea edx, [ebp - 0x38]
mov byte [ebp - 4], 0xb
push edx
call edi
test eax, eax
jge 0x4056bf
push eax
call fcn.0042d648
mov al, byte [ebp - 0x157]
test al, al
je 0x4057bc
push str.Developer
mov word [ebp - 0x38], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x30], eax
jne 0x4056f7
mov eax, str.Developer
test eax, eax
je 0x4056f7
push 0x8007000e
call fcn.0042d648
lea ecx, [ebp - 0x157]
mov bl, 0x2a
push ecx
mov byte [ebp - 4], bl
mov word [ebp - 0x24], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x1c], eax
jne 0x405729
lea edx, [ebp - 0x157]
test edx, edx
je 0x405729
push 0x8007000e
call fcn.0042d648
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x2b
cmp dword [eax], 0
jne 0x40573f
push 0x80004003
call fcn.0042d648
mov ecx, dword [ebp - 0x14]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
mov esi, dword [ecx]
mov ecx, dword [ebp - 0x24]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x20]
mov edx, dword [esi]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x18]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp - 0x38]
mov eax, esp
push esi
mov dword [eax], ecx
mov ecx, dword [ebp - 0x34]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x30]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0xc], ecx
call dword [edx + 0x100]
test eax, eax
jge 0x405795
push 0x45f358
push esi
push eax
call fcn.0042d656
lea edx, [ebp - 0x24]
mov byte [ebp - 4], bl
push edx
call edi
test eax, eax
jge 0x4057a8
push eax
call fcn.0042d648
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0xb
push eax
call edi
test eax, eax
jge 0x4057bc
push eax
call fcn.0042d648
mov al, byte [ebp - 0x49]
mov dword [ebp - 4], 0xffffffff
test al, al
je 0x405e05
mov esi, dword [ebp - 0x28]
mov ecx, esi
call fcn.004041a0
test al, al
jne 0x4057eb
mov ecx, esi
call fcn.00404160
test al, al
je 0x4064db
mov ecx, esi
call fcn.00404160
test al, al
je 0x405969
mov al, byte [esi + 0x330]
test al, al
je 0x405969
mov edi, 1
jmp 0x40596b
xor edi, edi
mov esi, dword [ebp - 0x28]
push 0x45f7a8
lea ecx, [esi + 0x60]
mov dword [ebp - 0x50], ecx
call fcn.004313ab
mov word [ebp - 0x48], 3
mov dword [ebp - 0x40], edi
mov ebx, 0x2e
push str.CaseState
mov dword [ebp - 4], ebx
mov word [ebp - 0x24], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x1c], eax
jne 0x4059b9
mov edx, str.CaseState
test edx, edx
je 0x4059b9
push 0x8007000e
call fcn.0042d648
mov eax, dword [esi + 0x32c]
add esi, 0x32c
test eax, eax
mov byte [ebp - 4], 0x2f
jne 0x4059d7
push 0x80004003
call fcn.0042d648
mov eax, dword [ebp - 0x28]
sub esp, 0x10
add eax, 0x32c
mov edx, esp
sub esp, 0x10
mov esi, dword [eax]
mov eax, dword [ebp - 0x48]
mov dword [edx], eax
mov eax, dword [ebp - 0x44]
mov ecx, dword [esi]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x3c]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 0x24]
mov edx, esp
push esi
mov dword [edx], eax
mov eax, dword [ebp - 0x20]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x18]
mov dword [edx + 0xc], eax
call dword [ecx + 0x100]
test eax, eax
jge 0x405a32
push 0x45f358
push esi
push eax
call fcn.0042d656
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea ecx, [ebp - 0x24]
push ecx
mov byte [ebp - 4], bl
call esi
test eax, eax
jge 0x405a4b
push eax
call fcn.0042d648
lea edx, [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
push edx
call esi
test eax, eax
jge 0x405a62
push eax
call fcn.0042d648
mov esi, dword [ebp - 0x28]
mov word [ebp - 0x48], 3
mov eax, dword [esi + 0x6c]
mov dword [ebp - 0x40], eax
mov ebx, 0x30
push str.OptID
mov dword [ebp - 4], ebx
mov word [ebp - 0x24], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x1c], eax
jne 0x405aa3
mov eax, str.OptID
test eax, eax
je 0x405aa3
push 0x8007000e
call fcn.0042d648
mov eax, dword [esi + 0x32c]
add esi, 0x32c
test eax, eax
mov byte [ebp - 4], 0x31
jne 0x405ac1
push 0x80004003
call fcn.0042d648
mov ecx, dword [ebp - 0x28]
sub esp, 0x10
mov esi, dword [ecx + 0x32c]
lea eax, [ecx + 0x32c]
mov ecx, dword [ebp - 0x48]
mov eax, esp
sub esp, 0x10
mov edx, dword [esi]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x40]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x3c]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp - 0x24]
mov eax, esp
push esi
mov dword [eax], ecx
mov ecx, dword [ebp - 0x20]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x18]
mov dword [eax + 0xc], ecx
call dword [edx + 0x100]
test eax, eax
jge 0x405b21
push 0x45f358
push esi
push eax
call fcn.0042d656
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [ebp - 0x24]
push edx
mov byte [ebp - 4], bl
call esi
test eax, eax
jge 0x405b3a
push eax
call fcn.0042d648
lea eax, [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
push eax
call esi
test eax, eax
jge 0x405b51
push eax
call fcn.0042d648
push str.OptDate
mov word [ebp - 0x48], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x40], eax
jne 0x405b7b
mov ecx, str.OptDate
test ecx, ecx
je 0x405b7b
push 0x8007000e
call fcn.0042d648
lea edx, [ebp - 0x34]
mov dword [ebp - 4], 0x32
push edx
call fcn.0041b459
fld qword [eax]
mov word [ebp - 0x24], 5
fstp qword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov byte [ebp - 4], 0x33
add eax, 0x32c
cmp dword [eax], 0
jne 0x405bb1
push 0x80004003
call fcn.0042d648
mov ecx, dword [ebp - 0x28]
sub esp, 0x10
mov esi, dword [ecx + 0x32c]
lea eax, [ecx + 0x32c]
mov ecx, dword [ebp - 0x24]
mov eax, esp
sub esp, 0x10
mov edx, dword [esi]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x20]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x18]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp - 0x48]
mov eax, esp
push esi
mov dword [eax], ecx
mov ecx, dword [ebp - 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x40]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x3c]
mov dword [eax + 0xc], ecx
call dword [edx + 0x100]
test eax, eax
jge 0x405c11
push 0x45f358
push esi
push eax
call fcn.0042d656
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [ebp - 0x24]
push edx
mov byte [ebp - 4], 0x32
call esi
test eax, eax
jge 0x405c2b
push eax
call fcn.0042d648
lea eax, [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
push eax
call esi
test eax, eax
jge 0x405c42
push eax
call fcn.0042d648
cmp edi, 1
jne 0x4062f7
mov esi, dword [ebp - 0x28]
mov word [ebp - 0x48], 3
mov eax, dword [esi + 0x6c]
mov dword [ebp - 0x40], eax
mov ebx, 0x34
push str.CheckerID
mov dword [ebp - 4], ebx
mov word [ebp - 0x24], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x1c], eax
jne 0x405c8c
mov ecx, str.CheckerID
test ecx, ecx
je 0x405c8c
push 0x8007000e
call fcn.0042d648
mov eax, dword [esi + 0x32c]
lea edi, [esi + 0x32c]
test eax, eax
mov byte [ebp - 4], 0x35
jne 0x405caa
push 0x80004003
call fcn.0042d648
mov ecx, dword [ebp - 0x48]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
mov esi, dword [edi]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x44]
mov edx, dword [esi]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x40]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x3c]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp - 0x24]
mov eax, esp
push esi
mov dword [eax], ecx
mov ecx, dword [ebp - 0x20]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x18]
mov dword [eax + 0xc], ecx
call dword [edx + 0x100]
test eax, eax
jge 0x405cfd
push 0x45f358
push esi
push eax
call fcn.0042d656
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [ebp - 0x24]
push edx
mov byte [ebp - 4], bl
call esi
test eax, eax
jge 0x405d16
push eax
call fcn.0042d648
lea eax, [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
push eax
call esi
test eax, eax
jge 0x405d2d
push eax
call fcn.0042d648
push str.CheckDate
mov word [ebp - 0x48], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x40], eax
jne 0x405d57
mov ecx, str.CheckDate
test ecx, ecx
je 0x405d57
push 0x8007000e
call fcn.0042d648
lea edx, [ebp - 0x34]
mov ebx, 0x36
push edx
mov dword [ebp - 4], ebx
call fcn.0041b459
fld qword [eax]
mov word [ebp - 0x24], 5
fstp qword [ebp - 0x1c]
mov eax, dword [edi]
mov byte [ebp - 4], 0x37
test eax, eax
jne 0x405d87
push 0x80004003
call fcn.0042d648
mov edx, dword [ebp - 0x24]
sub esp, 0x10
mov ecx, esp
sub esp, 0x10
mov esi, dword [edi]
mov dword [ecx], edx
mov edx, dword [ebp - 0x20]
mov eax, dword [esi]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x1c]
mov dword [ecx + 8], edx
mov edx, dword [ebp - 0x18]
mov dword [ecx + 0xc], edx
mov edx, dword [ebp - 0x48]
mov ecx, esp
push esi
mov dword [ecx], edx
mov edx, dword [ebp - 0x44]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x40]
mov dword [ecx + 8], edx
mov edx, dword [ebp - 0x3c]
mov dword [ecx + 0xc], edx
call dword [eax + 0x100]
test eax, eax
jge 0x405dda
push 0x45f358
push esi
push eax
call fcn.0042d656
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x24]
push eax
mov byte [ebp - 4], bl
call esi
test eax, eax
jge 0x405df3
push eax
call fcn.0042d648
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
push ecx
call esi
jmp 0x4062ed
push str.CaseState
mov word [ebp - 0x24], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x1c], eax
jne 0x405e2f
mov edx, str.CaseState
test edx, edx
je 0x405e2f
push 0x8007000e
call fcn.0042d648
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x38
cmp dword [eax], 0
jne 0x405e48
push 0x80004003
call fcn.0042d648
mov ebx, dword [ebp - 0x14]
lea edx, [ebp - 0x24]
lea eax, [ebp - 0x48]
push edx
mov ecx, dword [ebx]
push eax
call fcn.0040b740
mov esi, dword [eax + 8]
lea ecx, [ebp - 0x48]
push ecx
call edi
test eax, eax
jge 0x405e6d
push eax
call fcn.0042d648
lea edx, [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
push edx
call edi
test eax, eax
jge 0x405e84
push eax
call fcn.0042d648
cmp esi, 1
jne 0x40600e
mov ecx, dword [ebp - 0x28]
call fcn.00404140
test al, al
je 0x4064db
mov esi, dword [ebp - 0x28]
push 0x45f764
lea ecx, [esi + 0x60]
mov dword [ebp - 0x50], ecx
call fcn.004313ab
mov eax, dword [esi + 0x6c]
mov word [ebp - 0x48], 3
mov dword [ebp - 0x40], eax
mov ebx, 0x39
push str.CheckerID
mov dword [ebp - 4], ebx
mov word [ebp - 0x24], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x1c], eax
jne 0x405eee
mov eax, str.CheckerID
test eax, eax
je 0x405eee
push 0x8007000e
call fcn.0042d648
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x3a
cmp dword [ecx], 0
jne 0x405f04
push 0x80004003
call fcn.0042d648
mov edx, dword [ebp - 0x14]
sub esp, 0x10
mov ecx, esp
sub esp, 0x10
mov esi, dword [edx]
mov edx, dword [ebp - 0x48]
mov dword [ecx], edx
mov edx, dword [ebp - 0x44]
mov eax, dword [esi]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x40]
mov dword [ecx + 8], edx
mov edx, dword [ebp - 0x3c]
mov dword [ecx + 0xc], edx
mov edx, dword [ebp - 0x24]
mov ecx, esp
push esi
mov dword [ecx], edx
mov edx, dword [ebp - 0x20]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x1c]
mov dword [ecx + 8], edx
mov edx, dword [ebp - 0x18]
mov dword [ecx + 0xc], edx
call dword [eax + 0x100]
test eax, eax
jge 0x405f5a
push 0x45f358
push esi
push eax
call fcn.0042d656
lea eax, [ebp - 0x24]
mov byte [ebp - 4], bl
push eax
call edi
test eax, eax
jge 0x405f6d
push eax
call fcn.0042d648
lea ecx, [ebp - 0x48]
or esi, 0xffffffff
push ecx
mov dword [ebp - 4], esi
call edi
test eax, eax
jge 0x405f83
push eax
call fcn.0042d648
push str.CheckDate
mov word [ebp - 0x24], 8
call fcn.0042d6f5
test eax, eax
mov dword [ebp - 0x1c], eax
jne 0x405fad
mov edx, str.CheckDate
test edx, edx
je 0x405fad
push 0x8007000e
call fcn.0042d648
lea eax, [ebp - 0x44]
mov ebx, 0x3b
push eax
mov dword [ebp - 4], ebx
call fcn.0041b459
mov ecx, dword [eax]
push 5
mov dword [ebp - 0x30], ecx
mov edx, dword [eax + 4]
mov eax, edx
mov dword [ebp - 0x2c], edx
push eax
push ecx
lea ecx, [ebp - 0x64]
call fcn.0040b300
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0x24]
push eax
push edx
mov byte [ebp - 4], 0x3c
call fcn.0040b0d0
mov ecx, eax
call fcn.0040b7c0
lea eax, [ebp - 0x64]
mov byte [ebp - 4], bl
push eax
call edi
test eax, eax
jge 0x406002
push eax
call fcn.0042d648
lea ecx, [ebp - 0x24]
mov dword [ebp - 4], esi
push ecx
jmp 0x4062eb
push str.OptID
lea ecx, [ebp - 0x24]
call fcn.0040b360
lea edx, [ebp - 0x24]
lea eax, [ebp - 0x64]
push edx
push eax
mov ecx, ebx
mov dword [ebp - 4], 0x3d
call fcn.0040b0d0
mov ecx, eax
call fcn.0040b740
mov esi, dword [eax + 8]
lea ecx, [ebp - 0x64]
push ecx
call edi
test eax, eax
jge 0x40604b
push eax
call fcn.0042d648
lea edx, [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
push edx
call edi
test eax, eax
jge 0x406062
push eax
call fcn.0042d648
mov ebx, dword [ebp - 0x28]
mov ecx, ebx
call fcn.00404160
test al, al
je 0x40607a
mov al, byte [ebx + 0x330]
test al, al
jne 0x406089
mov ecx, ebx
call fcn.00404180
test al, al
je 0x4061df
mov eax, dword [ebp - 0x28]
push 0x45f764
lea ecx, [eax + 0x60]
mov dword [ebp - 0x50], ecx
call fcn.004313ab
push 3
push 1
lea ecx, [ebp - 0x48]
call fcn.0040b290
mov ebx, 0x3e
push str.CaseState
lea ecx, [ebp - 0x24]
mov dword [ebp - 4], ebx
call fcn.0040b360
mov esi, dword [ebp - 0x14]
lea ecx, [ebp - 0x48]
lea edx, [ebp - 0x24]
push ecx
push edx
mov ecx, esi
mov byte [ebp - 4], 0x3f
call fcn.0040b0d0
mov ecx, eax
call fcn.0040b7c0
lea eax, [ebp - 0x24]
mov byte [ebp - 4], bl
push eax
call edi
test eax, eax
jge 0x4060ed
push eax
call fcn.0042d648
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
push ecx
call edi
test eax, eax
jge 0x406104
push eax
call fcn.0042d648
mov edx, dword [ebp - 0x28]
push 3
lea ecx, [ebp - 0x48]
mov eax, dword [edx + 0x6c]
push eax
call fcn.0040b290
mov ebx, 0x40
push str.CheckerID
lea ecx, [ebp - 0x24]
mov dword [ebp - 4], ebx
call fcn.0040b360
lea ecx, [ebp - 0x48]
lea edx, [ebp - 0x24]
push ecx
push edx
mov ecx, esi
mov byte [ebp - 4], 0x41
call fcn.0040b0d0
mov ecx, eax
call fcn.0040b7c0
lea eax, [ebp - 0x24]
mov byte [ebp - 4], bl
push eax
call edi
test eax, eax
jge 0x406157
push eax
call fcn.0042d648
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
push ecx
call edi
test eax, eax
jge 0x40616e
push eax
call fcn.0042d648
push str.CheckDate
lea ecx, [ebp - 0x24]
call fcn.0040b360
lea edx, [ebp - 0x44]
mov ebx, 0x42
push edx
mov dword [ebp - 4], ebx
call fcn.0041b459
mov ecx, dword [eax]
push 5
mov dword [ebp - 0x30], ecx
mov edx, dword [eax + 4]
mov eax, edx
mov dword [ebp - 0x2c], edx
push eax
push ecx
lea ecx, [ebp - 0x64]
call fcn.0040b300
lea edx, [ebp - 0x24]
push eax
push edx
mov ecx, esi
mov byte [ebp - 4], 0x43
call fcn.0040b0d0
mov ecx, eax
call fcn.0040b7c0
lea eax, [ebp - 0x64]
mov byte [ebp - 4], bl
push eax
call edi
test eax, eax
jge 0x4061cf
push eax
call fcn.0042d648
lea ecx, [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
push ecx
jmp 0x4062eb
cmp esi, dword [ebx + 0x6c]
jne 0x4064db
mov ecx, ebx
call fcn.004041a0
test al, al
jne 0x406202
mov ecx, ebx
call fcn.00404160
test al, al
je 0x4064db
mov esi, dword [ebp - 0x28]
push 0x45f758
lea ecx, [esi + 0x60]
mov dword [ebp - 0x50], ecx
call fcn.004313ab
mov edx, dword [esi + 0x6c]
push 3
push edx
lea ecx, [ebp - 0x48]
call fcn.0040b290
mov ebx, 0x44
push str.OptID
lea ecx, [ebp - 0x24]
mov dword [ebp - 4], ebx
call fcn.0040b360
mov esi, dword [ebp - 0x14]
lea eax, [ebp - 0x48]
lea ecx, [ebp - 0x24]
push eax
push ecx
mov ecx, esi
mov byte [ebp - 4], 0x45
call fcn.0040b0d0
mov ecx, eax
call fcn.0040b7c0
lea edx, [ebp - 0x24]
mov byte [ebp - 4], bl
push edx
call edi
test eax, eax
jge 0x406268
push eax
call fcn.0042d648
lea eax, [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
push eax
call edi
test eax, eax
jge 0x40627f
push eax
call fcn.0042d648
push str.OptDate
lea ecx, [ebp - 0x24]
call fcn.0040b360
lea ecx, [ebp - 0x44]
mov ebx, 0x46
push ecx
mov dword [ebp - 4], ebx
call fcn.0041b459
mov edx, dword [eax]
push 5
mov dword [ebp - 0x30], edx
mov eax, dword [eax + 4]
mov ecx, eax
mov dword [ebp - 0x2c], eax
push ecx
push edx
lea ecx, [ebp - 0x64]
call fcn.0040b300
push eax
lea eax, [ebp - 0x24]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x47
call fcn.0040b0d0
mov ecx, eax
call fcn.0040b7c0
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], bl
push ecx
call edi
test eax, eax
jge 0x4062e0
push eax
call fcn.0042d648
lea edx, [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
push edx
call edi
test eax, eax
jge 0x4062f7
push eax
call fcn.0042d648
mov eax, dword [ebp - 0x54]
xor ebx, ebx
cmp eax, ebx
je 0x406419
mov edi, dword [ebp - 0x28]
lea ecx, [ebp - 0x6c]
push ecx
push 1
mov eax, dword [edi + 0x18]
push 0x11
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x6c], eax
call dword [sym.imp.OLEAUT32.dll_SafeArrayDestroy]
mov esi, eax
mov eax, dword [edi + 0x18]
cmp eax, ebx
mov dword [ebp - 0x14], ebx
jle 0x406352
mov edi, dword [sym.imp.OLEAUT32.dll_SafeArrayCopy]
mov ecx, dword [ebp - 0x54]
lea edx, [ebp - 0x14]
mov eax, ecx
inc ecx
push eax
push edx
push esi
mov dword [ebp - 0x54], ecx
call edi
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
inc eax
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x14], eax
cmp eax, edx
jl 0x406330
lea edx, [ebp - 0x8c]
lea ecx, [ebp - 0x48]
push edx
mov word [ebp - 0x8c], 0x2011
mov dword [ebp - 0x84], esi
call fcn.0040b260
mov ebx, 0x48
push str.SiffData
lea ecx, [ebp - 0x24]
mov dword [ebp - 4], ebx
call fcn.0040b360
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x2c]
push eax
add ecx, 0x32c
mov byte [ebp - 4], 0x49
call fcn.0040b0d0
mov ecx, eax
call fcn.0040b5f0
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x54]
push edx
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x4a
call fcn.0040b0d0
mov ecx, eax
call fcn.0040b850
lea edx, [ebp - 0x48]
mov ecx, eax
push edx
mov byte [ebp - 4], 0x4b
call fcn.0040b0d0
mov ecx, eax
call fcn.0040b920
lea ecx, [ebp - 0x54]
call fcn.004027e0
lea ecx, [ebp - 0x2c]
call fcn.004027e0
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x24]
push eax
mov byte [ebp - 4], bl
call edi
test eax, eax
jge 0x4063fb
push eax
call fcn.0042d648
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
push ecx
call edi
test eax, eax
jge 0x406412
push eax
call fcn.0042d648
push esi
call dword [sym.imp.OLEAUT32.dll_SafeArrayGetDim]
mov edi, dword [ebp - 0x28]
mov dword [ebp - 4], 0x4c
lea ebx, [edi + 0x32c]
mov dword [edi + 0x30], 0x80808080
mov ecx, ebx
mov dword [edi + 0x34], 0x2010
call fcn.0040b0d0
push 0x468e00
push 0x468e00
mov ecx, eax
call fcn.0040b6d0
or esi, 0xffffffff
test eax, eax
mov dword [ebp - 4], esi
jne 0x406524
push 2
push 1
mov ecx, ebx
call fcn.0040b0d0
mov ecx, eax
call fcn.0040b820
push 0x45f748
lea ecx, [ebp - 0x24]
call fcn.0040b360
lea edx, [ebp - 0x24]
lea eax, [ebp - 0x64]
push edx
push eax
mov ecx, ebx
mov dword [ebp - 4], 0x4f
call fcn.0040b0d0
mov ecx, eax
call fcn.0040b740
mov esi, dword [eax + 8]
lea ecx, [ebp - 0x64]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
jge 0x4064b0
push eax
call fcn.0042d648
lea edx, [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
jge 0x4064cb
push eax
call fcn.0042d648
mov dword [edi + 0x64], esi
mov dword [edi + 0x40], esi
push 0x45f740
jmp 0x40658b
mov esi, dword [ebp - 0x28]
push 0x45f734
lea ecx, [esi + 0x60]
call fcn.004313ab
mov dword [esi + 0x40], 0xffffffff
mov esi, dword [ebp - 0x14]
mov ecx, esi
call fcn.0040b0d0
mov ecx, eax
call fcn.0040b640
mov ecx, esi
call fcn.0040b0d0
mov ecx, eax
call fcn.0040b670
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x45f748
lea ecx, [ebp - 0x7c]
mov dword [edi + 0x40], esi
call fcn.0040b360
lea eax, [ebp - 0x7c]
lea ecx, [ebp - 0x9c]
push eax
push ecx
mov ecx, ebx
mov dword [ebp - 4], 0x50
call fcn.0040b0d0
mov ecx, eax
call fcn.0040b740
mov edx, dword [eax + 8]
lea eax, [ebp - 0x9c]
mov dword [edi + 0x64], edx
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
push eax
call edi
test eax, eax
jge 0x406573
push eax
call fcn.0042d648
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], esi
push ecx
call edi
test eax, eax
jge 0x406586
push eax
call fcn.0042d648
push 0x45f72c
mov ecx, dword [ebp - 0x50]
call fcn.004315fe
mov ecx, ebx
call fcn.0040b0d0
mov ecx, eax
call fcn.0040b670
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov al, 1
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret