Function at 0x508530
Capabilities:
Check http status code
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push 0x405426
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x74
push ebx
push esi
push edi
mov dword [ebp - 8], esp
mov dword [ebp - 4], 0x404758
mov eax, dword [0x5456d4]
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
lea ecx, [ebp - 0x64]
xor edi, edi
push eax
push ecx
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x64], edi
call ebx
mov ecx, dword [ebp - 0x64]
movsx eax, word [0x546014]
sub eax, dword [ecx + 0x14]
mov edx, eax
shl edx, 6
add edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x544ed0]
lea esi, [eax + edx*4]
lea edx, [ebp - 0x2c]
push ecx
push edx
call ebx
mov ebx, dword [ebp + 8]
push edi
push edi
push 9
lea eax, [ebx - 0x17]
push edi
push eax
mov eax, dword [ebp - 0x2c]
push 0x2ff
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
shl ecx, 2
sub edx, ecx
add edx, 4
push edx
call fcn.0043b830
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
cmp word [ebp - 0x5c], di
je 0x5085f9
mov word [0x5456e6], 0x7fbc
mov ecx, dword [0x544ed0]
lea edx, [ebp - 0x2c]
push ecx
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
push edi
push edi
push 8
lea eax, [ebx - 0x17]
push edi
push eax
mov eax, dword [ebp - 0x2c]
mov ecx, 2
push 0x2c0
mov edx, dword [eax + 0x14]
sub ecx, edx
mov edx, dword [eax + 0xc]
lea eax, [edx + ecx*4]
push eax
call fcn.0043b830
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x5c], eax
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
cmp word [ebp - 0x5c], di
je 0x50864d
mov word [0x5456e6], 0x7fbd
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
mov edx, 0x4291e0
lea ecx, [ebp - 0x34]
call edi
push 0
push 6
lea eax, [ebx + 0x14]
push 5
push 0
push eax
lea edx, [ebp - 0x34]
push 0xfa
push edx
call fcn.0043b830
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
mov edx, 0x429200
lea ecx, [ebp - 0x34]
call edi
push 0
push 6
lea eax, [ebx + 0x28]
push 5
push 0
push eax
lea eax, [ebp - 0x34]
push 0xfa
push eax
call fcn.0043b830
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
mov edx, 0x42921c
lea ecx, [ebp - 0x34]
call edi
push 0
push 6
lea edi, [ebx + 0x3c]
push 5
push 0
push edi
lea ecx, [ebp - 0x34]
push 0xfa
push ecx
call fcn.0043b830
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
mov edx, dword [esi + 0x100]
lea eax, [ebp - 0x2c]
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov ecx, dword [ebp - 0x2c]
push 0x1c6
movsx eax, word [0x546018]
mov edx, dword [ecx + 0x14]
push 0xed
sub eax, edx
push 0x3e7
push 0xfffffc19
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov dword [ebp - 0x58], 0x4002
lea ecx, [edx + eax + 0x2e]
lea edx, [ebp - 0x58]
push edx
push 4
lea eax, [ebx + 0x28]
push 0x19
push eax
lea eax, [ebp - 0x20]
push 0x13f
push eax
mov dword [ebp - 0x50], ecx
call fcn.0043a650
lea ecx, [ebp - 0x2c]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
mov edx, dword [esi + 0x100]
push edx
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov ecx, dword [ebp - 0x2c]
push 0x1c6
movsx eax, word [0x546018]
mov edx, dword [ecx + 0x14]
push 0xed
sub eax, edx
push 0x3e7
push 0xfffffc19
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov dword [ebp - 0x58], 0x4002
lea ecx, [edx + eax + 0x30]
lea edx, [ebp - 0x58]
push edx
push 4
push 0x19
push edi
lea eax, [ebp - 0x20]
push 0x13f
push eax
mov dword [ebp - 0x50], ecx
call fcn.0043a650
lea ecx, [ebp - 0x2c]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
mov eax, dword [esi + 0x100]
push 0x4286a0
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
movsx eax, word [0x546018]
sub eax, ecx
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x84], edx
lea ecx, [eax*8]
sub ecx, eax
shl ecx, 4
mov dx, word [ecx + edx + 4]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaStrI2]
mov edx, eax
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
push 0xffffffffffffffff
push 0
push 0
push 0
push 2
lea eax, [ebp - 0x38]
push 0x280
push eax
call fcn.0043b830
lea ecx, [ebp - 0x38]
lea edx, [ebp - 0x34]
push ecx
push edx
push 2
mov dword [ebp - 0x60], eax
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStrList]
add esp, 0xc
cmp word [ebp - 0x60], 0
je 0x508857
mov word [0x5456e6], 0xe3
mov edx, 0x428d14
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
push 0
push 0
push 2
push 0
push ebx
lea eax, [ebp - 0x34]
push 0x4c
push eax
call fcn.0043b830
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
mov eax, dword [0x544b3c]
push 0
lea edx, [ebx + 0xb1]
push 7
mov ecx, dword [eax]
push edx
lea edx, [ebx + 0x13]
push 0xf9
push edx
push 0xb
push eax
call dword [ecx + 0x58]
test eax, eax
fnclex
jge 0x5088be
mov ecx, dword [0x544b3c]
push 0x58
push 0x42099c
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov edx, 0x429238
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
push 0
push 6
push 5
lea eax, [ebx + 0x14]
push 0
push eax
lea edx, [ebp - 0x34]
push 0xc
push edx
call fcn.0043b830
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
mov edx, 0x429254
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
push 0
push 6
push 5
lea eax, [ebx + 0x28]
push 0
push eax
lea eax, [ebp - 0x34]
push 0xc
push eax
call fcn.0043b830
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
mov ecx, dword [0x544e78]
lea edx, [ebp - 0x2c]
push ecx
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov ecx, dword [ebp - 0x80]
push 0
push 0
push 0
lea eax, [ebx + 0x28]
push 0
push eax
xor edx, edx
movsx eax, word [0x546018]
sub eax, ecx
push 0x5e
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [ebp - 0x84]
shl ecx, 4
mov dl, byte [ecx + eax + 0x20]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0x14]
sub edx, ecx
mov ecx, dword [eax + 0xc]
lea edx, [ecx + edx*8]
push edx
call fcn.0043bbe0
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
cmp word [ebp - 0x5c], 0
je 0x50898e
mov word [0x5456e6], 1
mov edx, 0x4288c8
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
push 0
push 6
push 5
push 0
push edi
lea ecx, [ebp - 0x34]
push 0xc
push ecx
call fcn.0043b830
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x60], eax
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
cmp word [ebp - 0x60], 0
je 0x5089ce
push 0
push 0
push 8
call fcn.00513300
mov edx, 0x429274
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
push 0
push 6
push 5
push 0
push edi
lea edx, [ebp - 0x34]
push 0x6d
push edx
call fcn.0043b830
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x60], eax
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
cmp word [ebp - 0x60], 0
je 0x508a0e
push 0
push 0
push 8
call fcn.00513300
movsx eax, word [0x546018]
mov edx, dword [ebp - 0x80]
mov ecx, eax
sub ecx, edx
push 0x1c6
push 0xed
push 0x64
lea edx, [ecx*8]
push 0xffffffffffffff9c
sub edx, ecx
mov ecx, dword [ebp - 0x84]
shl edx, 4
movzx dx, byte [edx + ecx + 0x63]
sub edx, 0x64
movsx ecx, dx
mov dword [ebp - 0x14], ecx
mov ecx, dword [esi + 0x100]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
movzx cx, byte [edx + eax + 0x64]
sub ecx, 0x64
lea eax, [ebp - 0x14]
movsx edx, cx
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x18], edx
push ecx
push 4
push 0x19
push edi
lea edx, [ebp - 0x20]
push 0x49
push edx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x58], 0x4003
call fcn.0043a650
push 0x1c6
push 0xed
push 0x64
lea ecx, [ebp - 0x58]
push 0xffffffffffffff9c
push ecx
push 4
push 0x19
push edi
lea edx, [ebp - 0x20]
lea eax, [ebp - 0x18]
push 0x83
push edx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x58], 0x4003
call fcn.0043a650
movsx eax, word [0x546018]
mov ecx, dword [esi + 0x100]
mov edi, eax
mov dl, byte [ebp - 0x14]
sub edi, dword [ecx + 0x14]
add dl, 0x64
lea ecx, [edi*8]
sub ecx, edi
mov edi, dword [esi + 0x100]
shl ecx, 4
mov edi, dword [edi + 0xc]
mov byte [ecx + edi + 0x63], dl
mov edi, dword [esi + 0x100]
mov dl, byte [ebp - 0x18]
mov ecx, dword [edi + 0x14]
add dl, 0x64
sub eax, ecx
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [edi + 0xc]
shl ecx, 4
mov byte [ecx + eax + 0x64], dl
mov edx, 0x428820
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
lea edi, [ebx + 0x50]
push 0
push 6
push 5
push 0
push edi
lea ecx, [ebp - 0x34]
push 0xc
push ecx
call fcn.0043b830
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
mov edx, 0x429274
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
push 0
push 6
push 5
push 0
push edi
lea edx, [ebp - 0x34]
push 0x65
push edx
call fcn.0043b830
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
mov eax, dword [esi + 0x100]
lea ecx, [ebp - 0x2c]
push eax
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov ecx, dword [ebp - 0x2c]
push 0x1c6
movsx eax, word [0x546018]
mov edx, dword [ecx + 0x14]
push 0xed
sub eax, edx
push pe_nt_image_headers32
push 0
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov dword [ebp - 0x58], 0x4011
lea ecx, [edx + eax + 0x61]
lea edx, [ebp - 0x58]
push edx
push 2
push 0x12
push edi
lea eax, [ebp - 0x20]
push 0x4a
push eax
mov dword [ebp - 0x50], ecx
call fcn.0043a650
lea ecx, [ebp - 0x2c]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
mov edx, dword [esi + 0x100]
lea eax, [ebp - 0x2c]
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov ecx, dword [ebp - 0x2c]
push 0x1c6
movsx eax, word [0x546018]
mov edx, dword [ecx + 0x14]
push 0xed
sub eax, edx
push pe_nt_image_headers32
push 0
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov dword [ebp - 0x58], 0x4011
lea ecx, [edx + eax + 0x62]
lea edx, [ebp - 0x58]
push edx
push 2
mov dword [ebp - 0x50], ecx
push 0x12
push edi
lea eax, [ebp - 0x20]
push 0x7b
push eax
call fcn.0043a650
lea ecx, [ebp - 0x2c]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
mov edx, 0x428ba4
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
push 0
push 6
lea eax, [ebx + 0x64]
push 5
push 0
push eax
lea edx, [ebp - 0x34]
push 0xc
push edx
call fcn.0043b830
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
mov edx, 0x429274
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
push 0
push 6
push 5
lea eax, [ebx + 0x64]
push 0
push eax
lea eax, [ebp - 0x34]
push 0x51
push eax
call fcn.0043b830
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
mov ecx, dword [esi + 0x100]
lea edx, [ebp - 0x2c]
push ecx
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov ecx, dword [ebp - 0x2c]
push 0x1c6
movsx eax, word [0x546018]
mov edx, dword [ecx + 0x14]
push 0xed
sub eax, edx
push pe_nt_image_headers32
push 1
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov dword [ebp - 0x58], 0x4011
lea ecx, [edx + eax + 0x5c]
lea edx, [ebp - 0x58]
push edx
push 2
lea eax, [ebx + 0x64]
push 0x12
push eax
lea eax, [ebp - 0x20]
push 0x34
push eax
mov dword [ebp - 0x50], ecx
call fcn.0043a650
lea ecx, [ebp - 0x2c]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
mov edx, dword [esi + 0x100]
lea eax, [ebp - 0x2c]
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov ecx, dword [ebp - 0x2c]
movsx eax, word [0x546018]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
push 0x1c6
push 0xed
lea ecx, [edx + eax + 0x5d]
push pe_nt_image_headers32
lea edx, [ebp - 0x58]
push 1
push edx
push 2
lea eax, [ebx + 0x64]
push 0x12
push eax
lea eax, [ebp - 0x20]
push 0x67
push eax
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x58], 0x4011
call fcn.0043a650
lea ecx, [ebp - 0x2c]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
mov edx, 0x427bcc
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
push 0
push 6
push 5
push 0
push edi
lea edx, [ebp - 0x34]
push 0x99
push edx
call fcn.0043b830
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
mov eax, dword [0x544e1c]
lea ecx, [ebp - 0x2c]
push eax
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov eax, dword [esi + 0x100]
push 0
push 0
push 0
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
movsx eax, word [0x546018]
sub eax, ecx
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x84], edx
push 0
lea ecx, [eax*8]
push edi
sub ecx, eax
xor eax, eax
shl ecx, 4
push 0xc9
mov al, byte [ecx + edx + 0x5f]
mov ecx, eax
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0x14]
sub ecx, edx
mov edx, dword [eax + 0xc]
lea eax, [edx + ecx*8]
push eax
call fcn.0043bbe0
lea ecx, [ebp - 0x2c]
mov edi, eax
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
test di, di
je 0x508e2f
mov word [0x5456e6], 7
mov edx, 0x429280
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
push 0
push 6
push 5
lea edi, [ebx + 0x64]
push 0
push edi
lea edx, [ebp - 0x34]
push 0x8f
push edx
call fcn.0043b830
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
mov eax, dword [0x544e44]
lea ecx, [ebp - 0x2c]
push eax
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
movsx eax, word [0x546018]
mov edx, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x84]
sub eax, edx
push 0
push 0
push 0
lea edx, [eax*8]
push 0
sub edx, eax
xor eax, eax
shl edx, 4
push edi
push 0xad
mov al, byte [edx + ecx + 0x5e]
mov edx, eax
mov eax, dword [ebp - 0x2c]
mov edi, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
sub edx, edi
lea ecx, [eax + edx*8]
push ecx
call fcn.0043bbe0
lea edx, [ebp - 0x2c]
mov edi, eax
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
test di, di
je 0x508ed2
mov word [0x5456e6], 6
mov edx, 0x4285e8
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
push 0
push 6
lea edi, [ebx + 0x78]
push 5
push 0
push edi
lea eax, [ebp - 0x34]
push 0xc
push eax
call fcn.0043b830
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
mov ecx, dword [0x544ed0]
lea edx, [ebp - 0x2c]
push ecx
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov eax, dword [ebp - 0x2c]
mov ecx, 0x1e
push 0
push 0
mov edx, dword [eax + 0x14]
push 3
sub ecx, edx
mov edx, dword [eax + 0xc]
push 0
push ebx
lea eax, [edx + ecx*4]
push 0xc
push eax
call fcn.0043b830
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x5c], eax
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
cmp word [ebp - 0x5c], 0
je 0x508f52
mov word [0x5456e6], 0
mov dword [ebp - 0x40], 0x80020004
mov dword [ebp - 0x48], 0xa
mov edx, dword [esi + 0x100]
lea eax, [ebp - 0x2c]
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
movsx eax, word [0x546018]
push 0x1c6
push 0xed
push 0
lea ecx, [ebp - 0x48]
push 0
push ecx
mov ecx, dword [ebp - 0x2c]
push 1
push 0xda
push ebx
mov edx, dword [ecx + 0x14]
push 0x71
sub eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
lea ecx, [edx + eax + 0x1c]
push ecx
call fcn.0043a650
lea edx, [ebp - 0x2c]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
lea ecx, [ebp - 0x48]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
mov eax, dword [0x544e50]
lea ecx, [ebp - 0x2c]
push eax
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov eax, dword [esi + 0x100]
push 0
push 0
push 0
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
lea eax, [ebx + 0x14]
push 0
push eax
mov dword [ebp - 0x80], ecx
movsx eax, word [0x546018]
sub eax, ecx
mov dword [ebp - 0x84], edx
push 0x48
lea ecx, [eax*8]
sub ecx, eax
xor eax, eax
shl ecx, 4
mov al, byte [ecx + edx + 0x60]
mov ecx, eax
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0x14]
sub ecx, edx
mov edx, dword [eax + 0xc]
lea eax, [edx + ecx*8]
push eax
call fcn.0043bbe0
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x5c], eax
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
cmp word [ebp - 0x5c], 0
je 0x509049
mov word [0x5456e6], 0x14
movsx eax, word [0x546018]
sub eax, dword [ebp - 0x80]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ebp - 0x84]
shl edx, 4
cmp byte [edx + eax + 0x65], 8
jae 0x509359
mov edx, 0x423e34
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
push 0
push 0
push 0
push 0
push edi
lea ecx, [ebp - 0x34]
push 0x3b
push ecx
call fcn.0043b830
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x60], eax
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
cmp word [ebp - 0x60], 0
je 0x5090b9
push 0
push 0x1f
push 7
call fcn.00513300
mov word [0x5456e6], 0x1a
mov edx, 0x423e34
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
push 0
push 0
push 1
push 0
push edi
lea edx, [ebp - 0x34]
push 0x4e
push edx
call fcn.0043b830
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x60], eax
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
cmp word [ebp - 0x60], 0
je 0x509102
push 0
push 0x20
push 7
call fcn.00513300
mov word [0x5456e6], 0xc7
mov edx, 0x423e34
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
push 0
push 0
push 2
push 0
push edi
lea eax, [ebp - 0x34]
push 0x61
push eax
call fcn.0043b830
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x60], eax
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
cmp word [ebp - 0x60], 0
je 0x50914b
push 0
push 0x21
push 7
call fcn.00513300
mov word [0x5456e6], 0x1b
mov edx, 0x423e34
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
push 0
push 0
push 6
push 0
push edi
lea ecx, [ebp - 0x34]
push 0x74
push ecx
call fcn.0043b830
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x60], eax
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
cmp word [ebp - 0x60], 0
je 0x509194
push 0
push 0x22
push 7
call fcn.00513300
mov word [0x5456e6], 0x1c
mov edx, 0x423e34
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
push 0
push 0
push 7
push 0
push edi
lea edx, [ebp - 0x34]
push 0x87
push edx
call fcn.0043b830
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x60], eax
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
cmp word [ebp - 0x60], 0
je 0x5091e0
push 0
push 0x23
push 7
call fcn.00513300
mov word [0x5456e6], 0x1d
mov edx, 0x423e34
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
push 0
push 0
push 8
push 0
push edi
lea eax, [ebp - 0x34]
push 0x9a
push eax
call fcn.0043b830
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x60], eax
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
cmp word [ebp - 0x60], 0
je 0x50922c
push 0
push 0x24
push 7
call fcn.00513300
mov word [0x5456e6], 0x15e
mov edx, 0x423e34
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
push 0
push 0
push 3
push 0
push edi
lea ecx, [ebp - 0x34]
push 0xad
push ecx
call fcn.0043b830
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x60], eax
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
cmp word [ebp - 0x60], 0
je 0x509278
push 0
push 0x25
push 7
call fcn.00513300
mov word [0x5456e6], 0x154
mov edx, 0x423e34
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
push 0
push 0
push 4
push 0
push edi
lea edx, [ebp - 0x34]
push 0xc0
push edx
call fcn.0043b830
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x60], eax
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
cmp word [ebp - 0x60], 0
je 0x5092c4
push 0
push 0x26
push 7
call fcn.00513300
mov word [0x5456e6], 0x50
mov edx, 0x423e34
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
push 0
push 0
push 9
push 0
push edi
lea eax, [ebp - 0x34]
push 0xd3
push eax
call fcn.0043b830
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x60], eax
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
cmp word [ebp - 0x60], 0
je 0x509310
push 0
push 0x27
push 7
call fcn.00513300
mov word [0x5456e6], 0xbe
mov edx, 0x423e34
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
push 0
push 0
push 0xffffffffffffffff
push 0
push edi
lea ecx, [ebp - 0x34]
push 0xe6
push ecx
call fcn.0043b830
lea ecx, [ebp - 0x34]
mov edi, eax
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
test di, di
je 0x509359
push 0
push 0x28
push 7
call fcn.00513300
mov word [0x5456e6], 0xbd
movsx eax, word [0x546018]
sub eax, dword [ebp - 0x80]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ebp - 0x84]
shl edx, 4
mov al, byte [edx + eax + 0x65]
test al, al
jbe 0x509ac0
mov edi, dword [ebp + 0xc]
and eax, 0xff
mov dword [ebp - 0x28], 0xffffffc4
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x1c], 1
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x70]
cmp ecx, eax
jg 0x509abe
mov eax, dword [ebp - 0x28]
add eax, 0x3c
cmp eax, 0xc8
mov dword [ebp - 0x28], eax
jle 0x5093c4
mov eax, dword [edi]
mov dword [ebp - 0x28], 0
inc eax
mov dword [edi], eax
mov ecx, dword [esi + 0x100]
movsx eax, word [0x546018]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x1c]
shl edx, 4
mov eax, dword [edx + eax + 0x68]
mov edx, dword [eax + 0x14]
sub ecx, edx
mov edx, dword [eax + 0xc]
movsx eax, word [edx + ecx*2]
cmp eax, 0xfffffc19
mov dword [ebp - 0x24], eax
jl 0x5094b7
cmp eax, 0x3e7
jg 0x5094b7
mov eax, dword [esi + 0x100]
lea ecx, [ebp - 0x30]
push eax
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov ecx, dword [ebp - 0x30]
movsx eax, word [0x546018]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 0x68]
lea edx, [ebp - 0x2c]
push ecx
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c]
push 0x176
push 0xed
mov edx, dword [eax + 0x14]
push 0x3e7
sub ecx, edx
mov edx, dword [eax + 0xc]
push 0xfffffc19
mov dword [ebp - 0x58], 0x4002
lea eax, [edx + ecx*2]
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x50], eax
mov eax, dword [edi]
add eax, 7
push ecx
mov ecx, dword [ebp - 0x28]
push 4
lea edx, [eax + eax*4]
push 0x23
add ecx, 0xc
lea eax, [ebx + edx*4]
lea edx, [ebp - 0x20]
push eax
push ecx
push edx
call fcn.0043a650
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
lea ecx, [ebp - 0x30]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
jmp 0x509a5b
cmp eax, 0x3e8
jl 0x509572
cmp eax, 0x5208
jg 0x509572
sub eax, 0x2af8
push 0x196
mov dword [ebp - 0x24], eax
push 0xed
push 0x2710
lea eax, [ebp - 0x58]
push 0xffffd8f0
push eax
mov eax, dword [edi]
lea edx, [ebp - 0x24]
add eax, 7
mov dword [ebp - 0x50], edx
push 4
push 0x23
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x28]
add eax, 0xc
mov dword [ebp - 0x58], 0x4003
lea edx, [ebx + ecx*4]
lea ecx, [ebp - 0x20]
push edx
push eax
push ecx
call fcn.0043a650
test ax, ax
je 0x509a5b
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x50952f
mov dword [0x546044], eax
add eax, 0x2af8
mov dword [ebp - 0x24], eax
mov ecx, dword [esi + 0x100]
movsx eax, word [0x546018]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x1c]
shl edx, 4
mov eax, dword [edx + eax + 0x68]
mov edx, dword [eax + 0x14]
sub ecx, edx
mov edx, dword [eax + 0xc]
mov ax, word [ebp - 0x24]
mov word [edx + ecx*2], ax
jmp 0x509a5b
cmp eax, 0xffffadf8
jl 0x5095ec
cmp eax, 0xfffffc18
jg 0x5095ec
add eax, 0x2af8
push 0x1d6
mov dword [ebp - 0x24], eax
mov eax, dword [edi]
add eax, 7
push 0xed
push 0x2710
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x24]
push 0xffffd8f0
lea eax, [eax + eax*4]
push edx
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x50], ecx
push 4
lea ecx, [ebx + eax*4]
push 0x23
add edx, 0xc
push ecx
lea eax, [ebp - 0x20]
push edx
push eax
mov dword [ebp - 0x58], 0x4003
call fcn.0043a650
test ax, ax
je 0x509a5b
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x5095e2
mov dword [0x546044], eax
sub eax, 0x2af8
jmp 0x509534
cmp eax, 0xffff86e7
jl 0x5095fa
cmp eax, 0xffffadf7
jle 0x509610
cmp eax, 0x5209
jl 0x509693
cmp eax, 0x7919
jg 0x509693
test eax, eax
jge 0x50961b
add eax, 0x5209
jmp 0x509620
sub eax, 0x5209
mov dword [ebp - 0x24], eax
mov eax, dword [edi]
push 0x1e6
add eax, 7
push 0xed
push 0x2710
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x24]
push 0xffffd8f0
lea eax, [eax + eax*4]
push edx
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x50], ecx
push 4
lea ecx, [ebx + eax*4]
push 0x23
add edx, 0xc
push ecx
lea eax, [ebp - 0x20]
push edx
push eax
mov dword [ebp - 0x58], 0x4003
call fcn.0043a650
test ax, ax
je 0x509a5b
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x509689
mov dword [0x546044], eax
jge 0x509689
sub eax, 0x5209
jmp 0x509534
add eax, 0x5209
jmp 0x509534
cmp eax, 0xffff8000
jl 0x509716
cmp eax, 0xffff86e6
jg 0x509716
movsx edx, word [0x545600]
add eax, 0x8000
push 0x186
mov dword [ebp - 0x24], eax
push 0xed
push edx
lea eax, [ebp - 0x58]
push 0
push eax
mov eax, dword [edi]
lea ecx, [ebp - 0x24]
add eax, 7
mov dword [ebp - 0x50], ecx
push 4
push 0x23
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x28]
add eax, 0xc
mov dword [ebp - 0x58], 0x4003
lea edx, [ebx + ecx*4]
lea ecx, [ebp - 0x20]
push edx
push eax
push ecx
call fcn.0043a650
test ax, ax
je 0x509a5b
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x50970c
mov dword [0x546054], eax
mov word [0x546048], 0xffff
sub eax, 0x8000
jmp 0x509534
cmp eax, 0x791a
jl 0x509794
cmp eax, 0x7992
jg 0x509794
movsx edx, word [0x5455f8]
sub eax, 0x791a
push 0x1f6
mov dword [ebp - 0x24], eax
push 0xed
push edx
lea eax, [ebp - 0x58]
push 0
push eax
mov eax, dword [edi]
lea ecx, [ebp - 0x24]
add eax, 7
mov dword [ebp - 0x50], ecx
push 4
push 0x23
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x28]
add eax, 0xc
mov dword [ebp - 0x58], 0x4003
lea edx, [ebx + ecx*4]
lea ecx, [ebp - 0x20]
push edx
push eax
push ecx
call fcn.0043a650
test ax, ax
je 0x509a5b
mov edx, dword [ebp - 0x24]
push 0
push edx
push 9
call fcn.00513300
mov eax, dword [ebp - 0x24]
add eax, 0x791a
jmp 0x509534
cmp eax, 0x7993
jl 0x509802
cmp eax, 0x7d7b
jg 0x509802
sub eax, 0x7993
push 0x1a6
mov dword [ebp - 0x24], eax
mov eax, dword [edi]
add eax, 7
push 0xed
push 0x3e7
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x24]
push 0
lea eax, [eax + eax*4]
push edx
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x50], ecx
push 4
lea ecx, [ebx + eax*4]
push 0x23
add edx, 0xc
push ecx
lea eax, [ebp - 0x20]
push edx
push eax
mov dword [ebp - 0x58], 0x4003
call fcn.0043a650
test ax, ax
je 0x509a5b
mov eax, dword [ebp - 0x24]
add eax, 0x7993
jmp 0x509534
cmp eax, 0x7d7c
jl 0x5098fa
cmp eax, 0x7e76
jg 0x5098fa
sub eax, 0x7d7c
push 0x1b6
mov dword [ebp - 0x24], eax
mov eax, dword [edi]
add eax, 7
push 0xed
push 0xfa
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x24]
push 0
lea eax, [eax + eax*4]
push edx
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x50], ecx
push 4
lea ecx, [ebx + eax*4]
push 0x23
add edx, 0xc
push ecx
lea eax, [ebp - 0x20]
push edx
push eax
mov dword [ebp - 0x58], 0x4003
call fcn.0043a650
test ax, ax
je 0x509a5b
mov ecx, dword [ebp - 0x24]
cmp ecx, 1
jl 0x509880
cmp ecx, 0x64
jg 0x509880
lea edx, [ecx + 0x2260]
jmp 0x5098b0
cmp ecx, 0x65
jl 0x50989a
cmp ecx, 0xc8
jg 0x50989a
lea eax, [ecx + 0x2198]
mov dword [0x546044], eax
jmp 0x5098b6
cmp ecx, 0xc9
jl 0x5098b6
cmp ecx, 0xfa
jg 0x5098b6
lea edx, [ecx + 0x20d0]
mov dword [0x546044], edx
movsx eax, word [0x546018]
add ecx, 0x7d7c
mov dword [ebp - 0x24], ecx
mov edx, dword [esi + 0x100]
sub eax, dword [edx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [esi + 0x100]
shl edx, 4
mov eax, dword [eax + 0xc]
mov eax, dword [edx + eax + 0x68]
mov edx, dword [ebp - 0x1c]
sub edx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
mov word [eax + edx*2], cx
jmp 0x509a5b
cmp eax, 0x7e78
jl 0x5099a1
cmp eax, 0x7fd6
jg 0x5099a1
sub eax, 0x7e78
push 0x206
mov dword [ebp - 0x24], eax
mov eax, dword [edi]
add eax, 7
push 0xed
push 0x15e
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x24]
push 0
lea eax, [eax + eax*4]
push edx
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x50], ecx
push 4
lea ecx, [ebx + eax*4]
push 0x23
add edx, 0xc
push ecx
lea eax, [ebp - 0x20]
push edx
push eax
mov dword [ebp - 0x58], 0x4003
call fcn.0043a650
test ax, ax
je 0x509a5b
mov ecx, dword [esi + 0x100]
movsx eax, word [0x546018]
sub eax, dword [ecx + 0x14]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x24]
shl edx, 4
add ecx, 0x7e78
mov eax, dword [edx + eax + 0x68]
mov edx, dword [ebp - 0x1c]
sub edx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
mov word [eax + edx*2], cx
jmp 0x509a5b
cmp eax, 0x7e77
jne 0x5099ff
mov edx, 0x42928c
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
mov eax, dword [edi]
push 0
add eax, 7
push 0
push 0xffffffffffffffff
push 0x23
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x28]
add eax, 0xc
lea edx, [ebx + ecx*4]
lea ecx, [ebp - 0x34]
push edx
push eax
push ecx
call fcn.0043b830
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x60], eax
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
cmp word [ebp - 0x60], 0
je 0x509a5b
mov edx, dword [ebp - 0x1c]
add edx, 0x136
mov word [0x5456e6], dx
jmp 0x509a5b
cmp eax, 0x7fd7
jne 0x509a5b
mov edx, 0x42929c
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
mov eax, dword [edi]
mov edx, dword [ebp - 0x28]
add eax, 7
push 0
push 0
push 0xffffffffffffffff
lea eax, [eax + eax*4]
push 0x23
add edx, 0xc
lea ecx, [ebx + eax*4]
lea eax, [ebp - 0x34]
push ecx
push edx
push eax
call fcn.0043b830
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x60], eax
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
cmp word [ebp - 0x60], 0
je 0x509a5b
mov ecx, dword [ebp - 0x1c]
add ecx, 0x136
mov word [0x5456e6], cx
mov edx, 0x424d38
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
mov eax, dword [edi]
mov ecx, dword [ebp - 0x28]
add eax, 7
push 0
push 0
push 9
lea edx, [eax + eax*4]
push 0
add ecx, 0x31
lea eax, [ebx + edx*4]
lea edx, [ebp - 0x34]
push eax
push ecx
push edx
call fcn.0043b830
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x60], eax
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
cmp word [ebp - 0x60], 0
je 0x509aac
mov eax, dword [ebp - 0x1c]
add eax, 0x50
mov word [0x5456e6], ax
mov ecx, dword [ebp - 0x1c]
mov eax, 1
add ecx, eax
mov dword [ebp - 0x1c], ecx
jmp 0x50939a
inc dword [edi]
lea ecx, [ebp - 0x64]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
push 0x509b14
jmp 0x509b00
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
lea ecx, [ebp - 0x20]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
ret