Function at 0x40c940
Capabilities:
Get geographical location
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x441020
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x228
push ebx
push ebp
xor ebx, ebx
push esi
push edi
mov esi, ecx
mov dword [esp + 0x10], ebx
mov ecx, dword [esi + 0x1c]
lea eax, [esp + 0xd8]
push eax
push ecx
mov dword [esp + 0x248], ebx
call dword [sym.imp.USER32.dll_GetClientRect]
mov edi, dword [esp + 0xdc]
push 1
lea edx, [esp + 0xdc]
lea ebp, [esi + 0x80]
push esi
add edi, 0x1e
push edx
push 0x50800001
mov ecx, ebp
mov dword [esp + 0xec], edi
call fcn.0042a392
mov eax, dword [esi + 0x9c]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0xf097b1
push ebx
push 0x1001
push eax
call edi
mov ecx, dword [esi + 0x9c]
push ebx
push ebx
push 0x1024
push ecx
call edi
mov edx, dword [esi + 0x9c]
push 0xf097b1
push ebx
push 0x1026
push edx
call edi
mov eax, dword [esi + 0x9c]
push 0x31
push ebx
push 0x1036
push eax
call edi
push 0xffffffffffffffff
push 0x64
push ebx
push 0x453368
push ebx
mov ecx, ebp
call fcn.0042a3fb
push 0xffffffffffffffff
push 0x64
push ebx
push 0x45335c
push 1
mov ecx, ebp
call fcn.0042a3fb
push 0xffffffffffffffff
push 0x64
push ebx
push 0x453350
push 2
mov ecx, ebp
call fcn.0042a3fb
push 0xffffffffffffffff
push 0x64
push ebx
push 0x453344
push 3
mov ecx, ebp
call fcn.0042a3fb
push 0xffffffffffffffff
push 0x64
push ebx
push 0x453338
push 4
mov ecx, ebp
call fcn.0042a3fb
push 0xffffffffffffffff
push 0x64
push ebx
push 0x45332c
push 5
mov ecx, ebp
call fcn.0042a3fb
push 0xffffffffffffffff
push 0x64
push ebx
push 0x453320
push 6
mov ecx, ebp
call fcn.0042a3fb
push 0xffffffffffffffff
push 0x64
push ebx
push 0x453314
push 7
mov ecx, ebp
call fcn.0042a3fb
push 0xffffffffffffffff
push 0x64
push ebx
push 0x453308
push 8
mov ecx, ebp
call fcn.0042a3fb
push 0xffffffffffffffff
push 0x64
push ebx
push 0x4ab264
push 9
mov ecx, ebp
call fcn.0042a3fb
lea ecx, [esp + 0x1c]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea edx, [esp + 0x248]
mov ecx, 0x4af4b8
push edx
push 0x4af580
mov byte [esp + 0x248], 1
call fcn.0040c050
cmp dword [0x4af580], ebx
jne 0x40caf6
push 0x80004003
call fcn.004299c6
mov esi, dword [0x4af580]
lea ecx, [esp + 0x50]
push ecx
push esi
mov eax, dword [esi]
call dword [eax + 0x68]
cmp eax, ebx
jge 0x40cb17
push 0x453120
push esi
push eax
call fcn.004299d4
mov edi, dword [esp + 0x50]
cmp edi, ebx
jne 0x40cb5f
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [esp + 0x1c]
push edx
mov byte [esp + 0x244], bl
call esi
cmp eax, ebx
jge 0x40cb3d
push eax
call fcn.004299c6
lea eax, [esp + 0x248]
mov dword [esp + 0x240], 0xffffffff
push eax
call esi
cmp eax, ebx
jge 0x40dbe6
jmp 0x40dbe0
mov ecx, dword [0x4ab60c]
mov dword [esp + 0x14], ecx
mov eax, dword [0x4af580]
mov byte [esp + 0x240], 2
cmp eax, ebx
jne 0x40cb84
push 0x80004003
call fcn.004299c6
mov esi, dword [0x4af580]
push esi
mov edx, dword [esi]
call dword [edx + 0x98]
cmp eax, ebx
jge 0x40cba3
push 0x453120
push esi
push eax
call fcn.004299d4
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp edi, ebx
mov dword [esp + 0x18], ebx
jle 0x40db9e
mov edi, 8
push 0x4aa9b4
mov word [esp + 0x7c], di
call fcn.00429a73
cmp eax, ebx
mov dword [esp + 0x80], eax
jne 0x40cbe7
mov eax, 0x4aa9b4
test eax, eax
je 0x40cbe7
push 0x8007000e
call fcn.004299c6
mov eax, dword [0x4af580]
mov byte [esp + 0x240], 3
cmp eax, ebx
jne 0x40cc02
push 0x80004003
call fcn.004299c6
lea ecx, [esp + 0x78]
lea edx, [esp + 0x198]
push ecx
mov ecx, dword [0x4af580]
push edx
call fcn.00402db0
push eax
lea eax, [esp + 0x20]
push eax
mov byte [esp + 0x248], 4
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
cmp eax, ebx
jge 0x40cc38
push eax
call fcn.004299c6
lea ecx, [esp + 0x198]
mov byte [esp + 0x240], 3
push ecx
call esi
cmp eax, ebx
jge 0x40cc54
push eax
call fcn.004299c6
lea edx, [esp + 0x78]
mov byte [esp + 0x240], 2
push edx
call esi
cmp eax, ebx
jge 0x40cc6d
push eax
call fcn.004299c6
mov eax, dword [esp + 0x1c]
cmp ax, 1
jne 0x40cc81
mov eax, 0x4af4b0
jmp 0x40cd0d
cmp ax, di
mov dword [esp + 0x4c], ebx
jne 0x40cc9a
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x4c]
push eax
call fcn.00402f00
jmp 0x40ccef
lea ecx, [esp + 0x108]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea edx, [esp + 0x1c]
lea ecx, [esp + 0x108]
push edx
push edi
mov byte [esp + 0x248], 5
call fcn.00403060
mov eax, dword [esp + 0x110]
lea ecx, [esp + 0x4c]
push eax
call fcn.00402f00
lea ecx, [esp + 0x108]
mov byte [esp + 0x240], 2
push ecx
call esi
cmp eax, ebx
jge 0x40ccef
push eax
call fcn.004299c6
or dword [esp + 0x10], 1
mov ecx, dword [esp + 0x4c]
mov byte [esp + 0x240], 6
cmp ecx, ebx
je 0x40cd0b
call fcn.00403030
jmp 0x40cd0d
xor eax, eax
push eax
lea ecx, [esp + 0x18]
call fcn.0042fd85
mov al, byte [esp + 0x10]
mov dword [esp + 0x240], 2
test al, 1
je 0x40cd3d
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x4c]
and al, 0xfe
mov dword [esp + 0x10], eax
call fcn.00405f20
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
push ebx
push ebx
push ebx
push ebx
push edx
push eax
push 1
mov ecx, ebp
call fcn.0042a44e
push str.ContactName
mov word [esp + 0x9c], di
call fcn.00429a73
cmp eax, ebx
mov dword [esp + 0xa0], eax
jne 0x40cd84
mov ecx, str.ContactName
test ecx, ecx
je 0x40cd84
push 0x8007000e
call fcn.004299c6
mov eax, dword [0x4af580]
mov byte [esp + 0x240], 7
cmp eax, ebx
jne 0x40cd9f
push 0x80004003
call fcn.004299c6
mov ecx, dword [0x4af580]
lea edx, [esp + 0x98]
lea eax, [esp + 0x1b8]
push edx
push eax
call fcn.00402db0
lea ecx, [esp + 0x1c]
push eax
push ecx
mov byte [esp + 0x248], 8
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
cmp eax, ebx
jge 0x40cdd8
push eax
call fcn.004299c6
lea edx, [esp + 0x1b8]
mov byte [esp + 0x240], 7
push edx
call esi
cmp eax, ebx
jge 0x40cdf4
push eax
call fcn.004299c6
lea eax, [esp + 0x98]
mov byte [esp + 0x240], 2
push eax
call esi
cmp eax, ebx
jge 0x40ce10
push eax
call fcn.004299c6
mov eax, dword [esp + 0x1c]
cmp ax, 1
jne 0x40ce24
mov eax, 0x4af4b0
jmp 0x40ceb0
cmp ax, di
mov dword [esp + 0x48], ebx
jne 0x40ce3d
mov ecx, dword [esp + 0x24]
push ecx
lea ecx, [esp + 0x4c]
call fcn.00402f00
jmp 0x40ce92
lea edx, [esp + 0x128]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x128]
push eax
push edi
mov byte [esp + 0x248], 9
call fcn.00403060
mov ecx, dword [esp + 0x130]
push ecx
lea ecx, [esp + 0x4c]
call fcn.00402f00
lea edx, [esp + 0x128]
mov byte [esp + 0x240], 2
push edx
call esi
cmp eax, ebx
jge 0x40ce92
push eax
call fcn.004299c6
or dword [esp + 0x10], 2
mov ecx, dword [esp + 0x48]
mov byte [esp + 0x240], 0xa
cmp ecx, ebx
je 0x40ceae
call fcn.00403030
jmp 0x40ceb0
xor eax, eax
push eax
lea ecx, [esp + 0x18]
call fcn.0042fd85
mov al, byte [esp + 0x10]
mov dword [esp + 0x240], 2
test al, 2
je 0x40cee0
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x48]
and al, 0xfd
mov dword [esp + 0x10], eax
call fcn.00405f20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
push eax
push 1
push ecx
mov ecx, ebp
call fcn.0042a49a
push str.Address
mov word [esp + 0xbc], di
call fcn.00429a73
cmp eax, ebx
mov dword [esp + 0xc0], eax
jne 0x40cf23
mov edx, str.Address
test edx, edx
je 0x40cf23
push 0x8007000e
call fcn.004299c6
mov eax, dword [0x4af580]
mov byte [esp + 0x240], 0xb
cmp eax, ebx
jne 0x40cf3e
push 0x80004003
call fcn.004299c6
lea eax, [esp + 0xb8]
lea ecx, [esp + 0x1f8]
push eax
push ecx
mov ecx, dword [0x4af580]
call fcn.00402db0
lea edx, [esp + 0x1c]
push eax
push edx
mov byte [esp + 0x248], 0xc
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
cmp eax, ebx
jge 0x40cf77
push eax
call fcn.004299c6
lea eax, [esp + 0x1f8]
mov byte [esp + 0x240], 0xb
push eax
call esi
cmp eax, ebx
jge 0x40cf93
push eax
call fcn.004299c6
lea ecx, [esp + 0xb8]
mov byte [esp + 0x240], 2
push ecx
call esi
cmp eax, ebx
jge 0x40cfaf
push eax
call fcn.004299c6
mov eax, dword [esp + 0x1c]
cmp ax, 1
jne 0x40cfc3
mov eax, 0x4af4b0
jmp 0x40d04f
cmp ax, di
mov dword [esp + 0x44], ebx
jne 0x40cfdc
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x44]
push edx
call fcn.00402f00
jmp 0x40d031
lea eax, [esp + 0x148]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea ecx, [esp + 0x1c]
mov byte [esp + 0x240], 0xd
push ecx
push edi
lea ecx, [esp + 0x150]
call fcn.00403060
mov edx, dword [esp + 0x150]
lea ecx, [esp + 0x44]
push edx
call fcn.00402f00
lea eax, [esp + 0x148]
mov byte [esp + 0x240], 2
push eax
call esi
cmp eax, ebx
jge 0x40d031
push eax
call fcn.004299c6
or dword [esp + 0x10], 4
mov ecx, dword [esp + 0x44]
mov byte [esp + 0x240], 0xe
cmp ecx, ebx
je 0x40d04d
call fcn.00403030
jmp 0x40d04f
xor eax, eax
push eax
lea ecx, [esp + 0x18]
call fcn.0042fd85
mov al, byte [esp + 0x10]
mov dword [esp + 0x240], 2
test al, 4
je 0x40d07f
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x44]
and al, 0xfb
mov dword [esp + 0x10], eax
call fcn.00405f20
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push ecx
push 2
push edx
mov ecx, ebp
call fcn.0042a49a
push str.City
mov word [esp + 0x5c], di
call fcn.00429a73
cmp eax, ebx
mov dword [esp + 0x60], eax
jne 0x40d0bc
mov eax, str.City
test eax, eax
je 0x40d0bc
push 0x8007000e
call fcn.004299c6
mov eax, dword [0x4af580]
mov byte [esp + 0x240], 0xf
cmp eax, ebx
jne 0x40d0d7
push 0x80004003
call fcn.004299c6
lea ecx, [esp + 0x58]
lea edx, [esp + 0x1d8]
push ecx
mov ecx, dword [0x4af580]
push edx
call fcn.00402db0
push eax
lea eax, [esp + 0x20]
push eax
mov byte [esp + 0x248], 0x10
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
cmp eax, ebx
jge 0x40d10d
push eax
call fcn.004299c6
lea ecx, [esp + 0x1d8]
mov byte [esp + 0x240], 0xf
push ecx
call esi
cmp eax, ebx
jge 0x40d129
push eax
call fcn.004299c6
lea edx, [esp + 0x58]
mov byte [esp + 0x240], 2
push edx
call esi
cmp eax, ebx
jge 0x40d142
push eax
call fcn.004299c6
mov eax, dword [esp + 0x1c]
cmp ax, 1
jne 0x40d156
mov eax, 0x4af4b0
jmp 0x40d1e1
cmp ax, di
mov dword [esp + 0x38], ebx
jne 0x40d16f
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x38]
push eax
call fcn.00402f00
jmp 0x40d1c4
lea ecx, [esp + 0x168]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea edx, [esp + 0x1c]
lea ecx, [esp + 0x168]
push edx
push edi
mov byte [esp + 0x248], 0x11
call fcn.00403060
mov eax, dword [esp + 0x170]
lea ecx, [esp + 0x38]
push eax
call fcn.00402f00
lea ecx, [esp + 0x168]
mov byte [esp + 0x240], 2
push ecx
call esi
cmp eax, ebx
jge 0x40d1c4
push eax
call fcn.004299c6
or dword [esp + 0x10], edi
mov ecx, dword [esp + 0x38]
mov byte [esp + 0x240], 0x12
cmp ecx, ebx
je 0x40d1df
call fcn.00403030
jmp 0x40d1e1
xor eax, eax
push eax
lea ecx, [esp + 0x18]
call fcn.0042fd85
mov al, byte [esp + 0x10]
mov dword [esp + 0x240], 2
test al, 8
je 0x40d211
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x38]
and al, 0xf7
mov dword [esp + 0x10], eax
call fcn.00405f20
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
push edx
push 3
push eax
mov ecx, ebp
call fcn.0042a49a
push str.Region
mov word [esp + 0xfc], di
call fcn.00429a73
cmp eax, ebx
mov dword [esp + 0x100], eax
jne 0x40d254
mov ecx, str.Region
test ecx, ecx
je 0x40d254
push 0x8007000e
call fcn.004299c6
mov eax, dword [0x4af580]
mov byte [esp + 0x240], 0x13
cmp eax, ebx
jne 0x40d26f
push 0x80004003
call fcn.004299c6
mov ecx, dword [0x4af580]
lea edx, [esp + 0xf8]
lea eax, [esp + 0x218]
push edx
push eax
call fcn.00402db0
lea ecx, [esp + 0x1c]
push eax
push ecx
mov byte [esp + 0x248], 0x14
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
cmp eax, ebx
jge 0x40d2a8
push eax
call fcn.004299c6
lea edx, [esp + 0x218]
mov byte [esp + 0x240], 0x13
push edx
call esi
cmp eax, ebx
jge 0x40d2c4
push eax
call fcn.004299c6
lea eax, [esp + 0xf8]
mov byte [esp + 0x240], 2
push eax
call esi
cmp eax, ebx
jge 0x40d2e0
push eax
call fcn.004299c6
mov eax, dword [esp + 0x1c]
cmp ax, 1
jne 0x40d2f4
mov eax, 0x4af4b0
jmp 0x40d380
cmp ax, di
mov dword [esp + 0x2c], ebx
jne 0x40d30d
mov ecx, dword [esp + 0x24]
push ecx
lea ecx, [esp + 0x30]
call fcn.00402f00
jmp 0x40d362
lea edx, [esp + 0x188]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x188]
push eax
push edi
mov byte [esp + 0x248], 0x15
call fcn.00403060
mov ecx, dword [esp + 0x190]
push ecx
lea ecx, [esp + 0x30]
call fcn.00402f00
lea edx, [esp + 0x188]
mov byte [esp + 0x240], 2
push edx
call esi
cmp eax, ebx
jge 0x40d362
push eax
call fcn.004299c6
or dword [esp + 0x10], 0x10
mov ecx, dword [esp + 0x2c]
mov byte [esp + 0x240], 0x16
cmp ecx, ebx
je 0x40d37e
call fcn.00403030
jmp 0x40d380
xor eax, eax
push eax
lea ecx, [esp + 0x18]
call fcn.0042fd85
mov al, byte [esp + 0x10]
mov dword [esp + 0x240], 2
test al, 0x10
je 0x40d3b0
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x2c]
and al, 0xef
mov dword [esp + 0x10], eax
call fcn.00405f20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
push eax
push 4
push ecx
mov ecx, ebp
call fcn.0042a49a
push str.PostalCode
mov word [esp + 0x11c], di
call fcn.00429a73
cmp eax, ebx
mov dword [esp + 0x120], eax
jne 0x40d3f3
mov edx, str.PostalCode
test edx, edx
je 0x40d3f3
push 0x8007000e
call fcn.004299c6
mov eax, dword [0x4af580]
mov byte [esp + 0x240], 0x17
cmp eax, ebx
jne 0x40d40e
push 0x80004003
call fcn.004299c6
lea eax, [esp + 0x118]
lea ecx, [esp + 0x1a8]
push eax
push ecx
mov ecx, dword [0x4af580]
call fcn.00402db0
lea edx, [esp + 0x1c]
push eax
push edx
mov byte [esp + 0x248], 0x18
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
cmp eax, ebx
jge 0x40d447
push eax
call fcn.004299c6
lea eax, [esp + 0x1a8]
mov byte [esp + 0x240], 0x17
push eax
call esi
cmp eax, ebx
jge 0x40d463
push eax
call fcn.004299c6
lea ecx, [esp + 0x118]
mov byte [esp + 0x240], 2
push ecx
call esi
cmp eax, ebx
jge 0x40d47f
push eax
call fcn.004299c6
mov eax, dword [esp + 0x1c]
cmp ax, 1
jne 0x40d493
mov eax, 0x4af4b0
jmp 0x40d51f
cmp ax, di
mov dword [esp + 0x40], ebx
jne 0x40d4ac
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x40]
push edx
call fcn.00402f00
jmp 0x40d501
lea eax, [esp + 0x158]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea ecx, [esp + 0x1c]
mov byte [esp + 0x240], 0x19
push ecx
push edi
lea ecx, [esp + 0x160]
call fcn.00403060
mov edx, dword [esp + 0x160]
lea ecx, [esp + 0x40]
push edx
call fcn.00402f00
lea eax, [esp + 0x158]
mov byte [esp + 0x240], 2
push eax
call esi
cmp eax, ebx
jge 0x40d501
push eax
call fcn.004299c6
or dword [esp + 0x10], 0x20
mov ecx, dword [esp + 0x40]
mov byte [esp + 0x240], 0x1a
cmp ecx, ebx
je 0x40d51d
call fcn.00403030
jmp 0x40d51f
xor eax, eax
push eax
lea ecx, [esp + 0x18]
call fcn.0042fd85
mov al, byte [esp + 0x10]
mov dword [esp + 0x240], 2
test al, 0x20
je 0x40d54f
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x40]
and al, 0xdf
mov dword [esp + 0x10], eax
call fcn.00405f20
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push ecx
push 5
push edx
mov ecx, ebp
call fcn.0042a49a
push str.Phone
mov word [esp + 0x13c], di
call fcn.00429a73
cmp eax, ebx
mov dword [esp + 0x140], eax
jne 0x40d592
mov eax, str.Phone
test eax, eax
je 0x40d592
push 0x8007000e
call fcn.004299c6
mov eax, dword [0x4af580]
mov byte [esp + 0x240], 0x1b
cmp eax, ebx
jne 0x40d5ad
push 0x80004003
call fcn.004299c6
lea ecx, [esp + 0x138]
lea edx, [esp + 0x1c8]
push ecx
mov ecx, dword [0x4af580]
push edx
call fcn.00402db0
push eax
lea eax, [esp + 0x20]
push eax
mov byte [esp + 0x248], 0x1c
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
cmp eax, ebx
jge 0x40d5e6
push eax
call fcn.004299c6
lea ecx, [esp + 0x1c8]
mov byte [esp + 0x240], 0x1b
push ecx
call esi
cmp eax, ebx
jge 0x40d602
push eax
call fcn.004299c6
lea edx, [esp + 0x138]
mov byte [esp + 0x240], 2
push edx
call esi
cmp eax, ebx
jge 0x40d61e
push eax
call fcn.004299c6
mov eax, dword [esp + 0x1c]
cmp ax, 1
jne 0x40d632
mov eax, 0x4af4b0
jmp 0x40d6be
cmp ax, di
mov dword [esp + 0x30], ebx
jne 0x40d64b
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x30]
push eax
call fcn.00402f00
jmp 0x40d6a0
lea ecx, [esp + 0x178]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea edx, [esp + 0x1c]
lea ecx, [esp + 0x178]
push edx
push edi
mov byte [esp + 0x248], 0x1d
call fcn.00403060
mov eax, dword [esp + 0x180]
lea ecx, [esp + 0x30]
push eax
call fcn.00402f00
lea ecx, [esp + 0x178]
mov byte [esp + 0x240], 2
push ecx
call esi
cmp eax, ebx
jge 0x40d6a0
push eax
call fcn.004299c6
or dword [esp + 0x10], 0x40
mov ecx, dword [esp + 0x30]
mov byte [esp + 0x240], 0x1e
cmp ecx, ebx
je 0x40d6bc
call fcn.00403030
jmp 0x40d6be
xor eax, eax
push eax
lea ecx, [esp + 0x18]
call fcn.0042fd85
mov al, byte [esp + 0x10]
mov dword [esp + 0x240], 2
test al, 0x40
je 0x40d6ee
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x30]
and al, 0xbf
mov dword [esp + 0x10], eax
call fcn.00405f20
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
push edx
push 6
push eax
mov ecx, ebp
call fcn.0042a49a
push 0x4ab244
mov word [esp + 0x6c], di
call fcn.00429a73
cmp eax, ebx
mov dword [esp + 0x70], eax
jne 0x40d72b
mov ecx, 0x4ab244
test ecx, ecx
je 0x40d72b
push 0x8007000e
call fcn.004299c6
mov eax, dword [0x4af580]
mov byte [esp + 0x240], 0x1f
cmp eax, ebx
jne 0x40d746
push 0x80004003
call fcn.004299c6
mov ecx, dword [0x4af580]
lea edx, [esp + 0x68]
lea eax, [esp + 0x1e8]
push edx
push eax
call fcn.00402db0
lea ecx, [esp + 0x1c]
push eax
push ecx
mov byte [esp + 0x248], 0x20
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
cmp eax, ebx
jge 0x40d77c
push eax
call fcn.004299c6
lea edx, [esp + 0x1e8]
mov byte [esp + 0x240], 0x1f
push edx
call esi
cmp eax, ebx
jge 0x40d798
push eax
call fcn.004299c6
lea eax, [esp + 0x68]
mov byte [esp + 0x240], 2
push eax
call esi
cmp eax, ebx
jge 0x40d7b1
push eax
call fcn.004299c6
mov eax, dword [esp + 0x1c]
cmp ax, 1
jne 0x40d7c5
mov eax, 0x4af4b0
jmp 0x40d857
cmp ax, di
mov dword [esp + 0x34], ebx
jne 0x40d7de
mov ecx, dword [esp + 0x24]
push ecx
lea ecx, [esp + 0x38]
call fcn.00402f00
jmp 0x40d833
lea edx, [esp + 0x88]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x88]
push eax
push edi
mov byte [esp + 0x248], 0x21
call fcn.00403060
mov ecx, dword [esp + 0x90]
push ecx
lea ecx, [esp + 0x38]
call fcn.00402f00
lea edx, [esp + 0x88]
mov byte [esp + 0x240], 2
push edx
call esi
cmp eax, ebx
jge 0x40d833
push eax
call fcn.004299c6
mov ecx, dword [esp + 0x10]
or cl, 0x80
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x34]
mov byte [esp + 0x240], 0x22
cmp ecx, ebx
je 0x40d855
call fcn.00403030
jmp 0x40d857
xor eax, eax
push eax
lea ecx, [esp + 0x18]
call fcn.0042fd85
mov al, byte [esp + 0x10]
mov dword [esp + 0x240], 2
test al, 0x80
je 0x40d887
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x34]
and al, 0x7f
mov dword [esp + 0x10], eax
call fcn.00405f20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
push eax
push 7
push ecx
mov ecx, ebp
call fcn.0042a49a
push str.HomePage
mov word [esp + 0xac], di
call fcn.00429a73
cmp eax, ebx
mov dword [esp + 0xb0], eax
jne 0x40d8ca
mov edx, str.HomePage
test edx, edx
je 0x40d8ca
push 0x8007000e
call fcn.004299c6
mov eax, dword [0x4af580]
mov byte [esp + 0x240], 0x23
cmp eax, ebx
jne 0x40d8e5
push 0x80004003
call fcn.004299c6
lea eax, [esp + 0xa8]
lea ecx, [esp + 0x208]
push eax
push ecx
mov ecx, dword [0x4af580]
call fcn.00402db0
lea edx, [esp + 0x1c]
push eax
push edx
mov byte [esp + 0x248], 0x24
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
cmp eax, ebx
jge 0x40d91e
push eax
call fcn.004299c6
lea eax, [esp + 0x208]
mov byte [esp + 0x240], 0x23
push eax
call esi
cmp eax, ebx
jge 0x40d93a
push eax
call fcn.004299c6
lea ecx, [esp + 0xa8]
mov byte [esp + 0x240], 2
push ecx
call esi
cmp eax, ebx
jge 0x40d956
push eax
call fcn.004299c6
mov eax, dword [esp + 0x1c]
cmp ax, 1
jne 0x40d96a
mov eax, 0x4af4b0
jmp 0x40d9fc
cmp ax, di
mov dword [esp + 0x3c], ebx
jne 0x40d983
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x3c]
push edx
call fcn.00402f00
jmp 0x40d9d8
lea eax, [esp + 0xc8]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea ecx, [esp + 0x1c]
mov byte [esp + 0x240], 0x25
push ecx
push edi
lea ecx, [esp + 0xd0]
call fcn.00403060
mov edx, dword [esp + 0xd0]
lea ecx, [esp + 0x3c]
push edx
call fcn.00402f00
lea eax, [esp + 0xc8]
mov byte [esp + 0x240], 2
push eax
call esi
cmp eax, ebx
jge 0x40d9d8
push eax
call fcn.004299c6
mov ecx, dword [esp + 0x10]
or ch, 1
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x3c]
mov byte [esp + 0x240], 0x26
cmp ecx, ebx
je 0x40d9fa
call fcn.00403030
jmp 0x40d9fc
xor eax, eax
push eax
lea ecx, [esp + 0x18]
call fcn.0042fd85
mov eax, dword [esp + 0x10]
mov dword [esp + 0x240], 2
test ah, 1
je 0x40da2a
and ah, 0xfe
lea ecx, [esp + 0x3c]
mov dword [esp + 0x10], eax
call fcn.00405f20
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push ecx
push edi
push edx
mov ecx, ebp
call fcn.0042a49a
push str.SupplierMemo
mov word [esp + 0xec], di
call fcn.00429a73
cmp eax, ebx
mov dword [esp + 0xf0], eax
jne 0x40da6c
mov eax, str.SupplierMemo
test eax, eax
je 0x40da6c
push 0x8007000e
call fcn.004299c6
mov eax, dword [0x4af580]
mov byte [esp + 0x240], 0x27
cmp eax, ebx
jne 0x40da87
push 0x80004003
call fcn.004299c6
lea ecx, [esp + 0xe8]
lea edx, [esp + 0x228]
push ecx
mov ecx, dword [0x4af580]
push edx
call fcn.00402db0
push eax
lea eax, [esp + 0x20]
push eax
mov byte [esp + 0x248], 0x28
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
cmp eax, ebx
jge 0x40dac0
push eax
call fcn.004299c6
lea ecx, [esp + 0x228]
mov byte [esp + 0x240], 0x27
push ecx
call esi
cmp eax, ebx
jge 0x40dadc
push eax
call fcn.004299c6
lea edx, [esp + 0xe8]
mov byte [esp + 0x240], 2
push edx
call esi
cmp eax, ebx
jge 0x40daf8
push eax
call fcn.004299c6
cmp word [esp + 0x1c], 1
jne 0x40db07
mov eax, 0x4af4b0
jmp 0x40db37
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x54]
push eax
call fcn.00406000
mov ecx, dword [esp + 0x10]
or ch, 2
mov dword [esp + 0x10], ecx
mov ecx, dword [eax]
mov byte [esp + 0x240], 0x29
cmp ecx, ebx
je 0x40db35
call fcn.00403030
jmp 0x40db37
xor eax, eax
push eax
lea ecx, [esp + 0x18]
call fcn.0042fd85
mov eax, dword [esp + 0x10]
mov dword [esp + 0x240], 2
test ah, 2
je 0x40db65
and ah, 0xfd
lea ecx, [esp + 0x54]
mov dword [esp + 0x10], eax
call fcn.00405f20
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push ecx
push 9
push edx
mov ecx, ebp
call fcn.0042a49a
mov ecx, 0x4af580
call fcn.00405ee0
mov ecx, eax
call fcn.00405e80
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x50]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x40cbba
lea ecx, [esp + 0x14]
mov byte [esp + 0x240], 1
call fcn.0042fbfc
lea eax, [esp + 0x1c]
mov byte [esp + 0x240], bl
push eax
call esi
cmp eax, ebx
jge 0x40dbc7
push eax
call fcn.004299c6
lea ecx, [esp + 0x248]
mov dword [esp + 0x240], 0xffffffff
push ecx
call esi
cmp eax, ebx
jge 0x40dbe6
push eax
call fcn.004299c6
mov ecx, dword [esp + 0x238]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x234
ret 0x10