Function at 0x420730
Capabilities:
Acquire debug privileges

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push 0x401f36
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x544
push ebx
push esi
push edi
mov dword [ebp - 0x14], esp
mov dword [ebp - 0x10], 0x401bb0
xor esi, esi
mov dword [ebp - 0xc], esi
mov dword [ebp - 8], esi
mov dword [ebp - 0x24], esi
mov ecx, 0x8b
xor eax, eax
lea edi, [ebp - 0x258]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x264], esi
mov dword [ebp - 0x270], esi
mov dword [ebp - 0x274], esi
mov dword [ebp - 0x284], esi
mov dword [ebp - 0x294], esi
mov dword [ebp - 0x2a4], esi
mov dword [ebp - 0x2b4], esi
mov dword [ebp - 0x2c4], esi
mov dword [ebp - 0x2f8], esi
mov ecx, 0x4a
lea edi, [ebp - 0x428]
rep stosd dword es:[edi], eax
mov ecx, 0x4a
lea edi, [ebp - 0x550]
rep stosd dword es:[edi], eax
push 1
call dword [sym.imp.MSVBVM60.DLL___vbaOnError]
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x258], 0x128
mov dword [ebp - 0x2f8], esi
lea eax, [ebp - 0x2f8]
push eax
push 2
call fcn.00408cac
mov edi, eax
mov dword [ebp - 0x2fc], edi
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
call ebx
lea ecx, [ebp - 0x258]
push ecx
lea edx, [ebp - 0x428]
push edx
push 0x40a0b8
call dword [sym.imp.MSVBVM60.DLL___vbaRecUniToAnsi]
push eax
push edi
call fcn.00408cf4
mov dword [ebp - 0x2f8], eax
call ebx
lea eax, [ebp - 0x428]
push eax
lea ecx, [ebp - 0x258]
push ecx
push 0x40a0b8
call dword [sym.imp.MSVBVM60.DLL___vbaRecAnsiToUni]
mov ebx, dword [ebp + 8]
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
cmp dword [ebp - 0x2f8], esi
je 0x4205f5
lea edx, [ebp - 0x234]
push edx
push 0x104
call dword [sym.imp.MSVBVM60.DLL___vbaStrFixstr]
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x294], 8
push esi
lea eax, [ebp - 0x284]
push eax
call dword [sym.imp.MSVBVM60.DLL_rtcVarBstrFromAnsi]
push 1
lea ecx, [ebp - 0x294]
push ecx
lea edx, [ebp - 0x284]
push edx
push esi
lea eax, [ebp - 0x2a4]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaInStrVar]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaI2Var]
mov esi, eax
lea ecx, [ebp - 0x2a4]
push ecx
lea edx, [ebp - 0x294]
push edx
lea eax, [ebp - 0x284]
push eax
push 3
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVarList]
add esp, 0x10
sub si, 1
jo 0x420725
movsx ecx, si
push ecx
lea edx, [ebp - 0x234]
push edx
push 0x104
call dword [sym.imp.MSVBVM60.DLL___vbaStrFixstr]
mov edx, eax
lea ecx, [ebp - 0x270]
call edi
push eax
call dword [sym.imp.MSVBVM60.DLL_rtcLeftCharBstr]
mov edx, eax
lea ecx, [ebp - 0x274]
call edi
mov eax, dword [ebp - 0x270]
push eax
lea ecx, [ebp - 0x234]
push ecx
push 0x104
call dword [sym.imp.MSVBVM60.DLL___vbaLsetFixstr]
mov edx, dword [ebp - 0x274]
push edx
mov esi, dword [sym.imp.MSVBVM60.DLL_rtcLowerCaseBstr]
call esi
mov edx, eax
lea ecx, [ebp - 0x264]
call edi
lea eax, [ebp - 0x274]
push eax
lea ecx, [ebp - 0x270]
push ecx
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStrList]
add esp, 0xc
mov edx, dword [ebx]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaLenBstr]
push eax
mov eax, dword [ebp - 0x264]
push eax
call dword [sym.imp.MSVBVM60.DLL_rtcRightCharBstr]
mov edx, eax
lea ecx, [ebp - 0x270]
call edi
push eax
mov ecx, dword [ebx]
push ecx
call esi
mov edx, eax
lea ecx, [ebp - 0x274]
call edi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrCmp]
mov esi, eax
neg esi
sbb esi, esi
inc esi
neg esi
lea edx, [ebp - 0x274]
push edx
lea eax, [ebp - 0x270]
push eax
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStrList]
add esp, 0xc
test si, si
je 0x4205a3
mov dword [ebp - 0x24], 0xffffffff
mov cx, word [ebp - 0x2c]
add cx, 1
jo 0x420725
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x250]
push edx
push 0
push 0
call fcn.0040a144
mov dword [ebp - 0x2f8], eax
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
push 0
mov eax, dword [ebp - 0x250]
push eax
call 0x420730
lea ecx, [ebp - 0x258]
push ecx
lea edx, [ebp - 0x550]
push edx
push 0x40a0b8
call dword [sym.imp.MSVBVM60.DLL___vbaRecUniToAnsi]
push eax
mov eax, dword [ebp - 0x2fc]
push eax
call fcn.00408d3c
mov dword [ebp - 0x2f8], eax
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
lea ecx, [ebp - 0x550]
push ecx
lea edx, [ebp - 0x258]
push edx
push 0x40a0b8
call dword [sym.imp.MSVBVM60.DLL___vbaRecAnsiToUni]
xor esi, esi
jmp 0x4203f9
mov eax, dword [ebp - 0x2fc]
push eax
call fcn.00408d80
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
call dword [sym.imp.MSVBVM60.DLL___vbaExitProc]
push 0x42070e
jmp 0x420701
lea ecx, [ebp - 0x264]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
ret
call dword [sym.imp.MSVBVM60.DLL___vbaErrorOverflow]
nop
nop
nop
nop
nop
push ebp
mov ebp, esp
sub esp, 8
push 0x401f36
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x34
push ebx
push esi
push edi
mov dword [ebp - 8], esp
mov dword [ebp - 4], 0x401bd8
xor eax, eax
xor ebx, ebx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x34], ebx
call fcn.0040a188
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
mov edi, eax
call esi
cmp edi, ebx
jl 0x420830
call fcn.0040a1d4
mov edi, eax
call esi
lea ecx, [ebp - 0x28]
push ecx
push 0x28
push edi
call fcn.0040a230
mov edi, eax
call esi
xor edx, edx
cmp edi, ebx
sete dl
neg edx
test dx, dx
jne 0x420898
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaStrToAnsi]
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x34]
push 0x40b654
push ecx
call edi
push eax
lea edx, [ebp - 0x30]
push 0x408a74
push edx
call edi
push eax
call fcn.0040a280
mov edi, eax
call esi
xor eax, eax
cmp edi, ebx
lea ecx, [ebp - 0x34]
lea edx, [ebp - 0x30]
sete al
push ecx
push edx
neg eax
push 2
mov edi, eax
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStrList]
add esp, 0xc
cmp di, bx
jne 0x420898
mov ecx, dword [ebp - 0x28]
push ebx
push ebx
lea eax, [ebp - 0x24]
push ebx
push eax
push ebx
push ecx
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x18], 2
call fcn.0040a2d0
mov edi, eax
call esi
cmp edi, ebx
je 0x420898
mov edx, dword [ebp + 8]
push edx
push ebx
push 0x1f0fff
call fcn.0040a144
mov edi, eax
call esi
test edi, edi
mov ebx, edi
je 0x42086b
mov eax, dword [ebp + 0xc]
push eax
push edi
call fcn.0040a100
mov edi, eax
call esi
xor ecx, ecx
push ebx
test edi, edi
setne cl
neg ecx
mov dword [ebp - 0x2c], ecx
call fcn.00408d80
call esi
call fcn.0040a188
mov edi, eax
call esi
test edi, edi
jl 0x4208a7
mov eax, dword [ebp - 0x28]
push 0
push 0
lea edx, [ebp - 0x24]
push 0
push edx
push 0
push eax
mov dword [ebp - 0x18], 0
call fcn.0040a2d0
call esi
xor ebx, ebx
mov eax, dword [ebp - 0x28]
cmp eax, ebx
je 0x4208a7
push eax
call fcn.00408d80
call esi
push 0x4208c3
jmp 0x4208c2
ret