Function at 0x47cab0
Capabilities:
Acquire debug privileges

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push 0x406db6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x69c
push ebx
push esi
push edi
mov dword [ebp - 0x14], esp
mov dword [ebp - 0x10], 0x406630
xor esi, esi
mov dword [ebp - 0xc], esi
mov dword [ebp - 8], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x50], esi
xor eax, eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x64], esi
mov ecx, 7
lea edi, [ebp - 0x80]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x88], esi
mov ecx, 0x8b
lea edi, [ebp - 0x2d4]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x2d8], esi
mov ecx, 0x11
lea edi, [ebp - 0x31c]
rep stosd dword es:[edi], eax
xor ecx, ecx
mov dword [ebp - 0x32c], ecx
mov dword [ebp - 0x328], ecx
mov dword [ebp - 0x324], ecx
mov dword [ebp - 0x320], ecx
mov dword [ebp - 0x330], esi
mov dword [ebp - 0x334], esi
mov dword [ebp - 0x338], esi
mov dword [ebp - 0x33c], esi
mov dword [ebp - 0x340], esi
mov dword [ebp - 0x344], esi
mov dword [ebp - 0x354], esi
mov dword [ebp - 0x364], esi
mov dword [ebp - 0x374], esi
mov dword [ebp - 0x384], esi
mov dword [ebp - 0x394], esi
mov dword [ebp - 0x3a4], esi
mov dword [ebp - 0x3a8], esi
mov dword [ebp - 0x3ac], esi
mov ecx, 0x4a
lea edi, [ebp - 0x4f0]
rep stosd dword es:[edi], eax
mov ecx, 0x4a
lea edi, [ebp - 0x618]
rep stosd dword es:[edi], eax
mov ecx, 0x11
lea edi, [ebp - 0x65c]
rep stosd dword es:[edi], eax
mov ecx, 0x11
lea edi, [ebp - 0x6a0]
rep stosd dword es:[edi], eax
push 1
call dword [sym.imp.MSVBVM60.DLL___vbaOnError]
cmp dword [0x488d50], esi
jne 0x47cbf3
push 0x488d50
push 0x40cd3c
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
mov ebx, dword [0x488d50]
mov edx, dword [ebx]
lea eax, [ebp - 0x344]
push eax
push ebx
call dword [edx + 0x14]
fnclex
cmp eax, esi
jge 0x47cc1f
push 0x14
push 0x40cd2c
push ebx
push eax
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
call edi
jmp 0x47cc25
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [ebp - 0x344]
mov ebx, eax
mov ecx, dword [eax]
lea edx, [ebp - 0x33c]
push edx
push eax
call dword [ecx + 0x50]
fnclex
cmp eax, esi
jge 0x47cc4b
push 0x50
push 0x40cd4c
push ebx
push eax
call edi
mov eax, dword [ebp - 0x33c]
mov dword [ebp - 0x33c], esi
mov dword [ebp - 0x34c], eax
mov dword [ebp - 0x354], 8
push 1
lea eax, [ebp - 0x354]
push eax
lea ecx, [ebp - 0x364]
push ecx
call dword [sym.imp.MSVBVM60.DLL_rtcRightCharVar]
mov dword [ebp - 0x37c], 0x40cd60
mov dword [ebp - 0x384], 0x8008
lea edx, [ebp - 0x364]
push edx
lea eax, [ebp - 0x384]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarTstEq]
mov ebx, eax
lea ecx, [ebp - 0x344]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeObj]
lea ecx, [ebp - 0x364]
push ecx
lea edx, [ebp - 0x354]
push edx
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVarList]
add esp, 0xc
cmp bx, si
mov eax, dword [0x488d50]
je 0x47cd69
cmp eax, esi
jne 0x47ccee
push 0x488d50
push 0x40cd3c
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
mov ebx, dword [0x488d50]
mov eax, dword [ebx]
lea ecx, [ebp - 0x344]
push ecx
push ebx
call dword [eax + 0x14]
fnclex
cmp eax, esi
jge 0x47cd12
push 0x14
push 0x40cd2c
push ebx
push eax
call edi
mov eax, dword [ebp - 0x344]
mov ebx, eax
mov edx, dword [eax]
lea ecx, [ebp - 0x33c]
push ecx
push eax
call dword [edx + 0x50]
fnclex
cmp eax, esi
jge 0x47cd38
push 0x50
push 0x40cd4c
push ebx
push eax
call edi
mov edx, dword [ebp - 0x33c]
mov dword [ebp - 0x33c], esi
lea ecx, [ebp - 0x88]
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
call ebx
lea ecx, [ebp - 0x344]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeObj]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
jmp 0x47ce03
cmp eax, esi
jne 0x47cd7d
push 0x488d50
push 0x40cd3c
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
mov ebx, dword [0x488d50]
mov edx, dword [ebx]
lea eax, [ebp - 0x344]
push eax
push ebx
call dword [edx + 0x14]
fnclex
cmp eax, esi
jge 0x47cda1
push 0x14
push 0x40cd2c
push ebx
push eax
call edi
mov eax, dword [ebp - 0x344]
mov ebx, eax
mov ecx, dword [eax]
lea edx, [ebp - 0x33c]
push edx
push eax
call dword [ecx + 0x50]
fnclex
cmp eax, esi
jge 0x47cdc7
push 0x50
push 0x40cd4c
push ebx
push eax
call edi
mov eax, dword [ebp - 0x33c]
push eax
push 0x40cd60
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
call esi
mov edx, eax
lea ecx, [ebp - 0x88]
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
call ebx
lea ecx, [ebp - 0x33c]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
lea ecx, [ebp - 0x344]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeObj]
mov di, word [ebp + 0xc]
cmp di, 0x63
jne 0x47ce59
mov ecx, dword [ebp - 0x88]
push ecx
push 0x411418
call esi
mov edx, eax
lea ecx, [ebp - 0x338]
call ebx
lea edx, [ebp - 0x338]
push edx
call fcn.0047d690
test ax, ax
je 0x47ce44
mov eax, dword [ebp - 0x88]
push eax
push 0x411418
jmp 0x47ce50
mov ecx, dword [ebp - 0x88]
push ecx
push 0x411438
call esi
mov edx, eax
lea ecx, [ebp - 0x40]
call ebx
cmp di, 1
jne 0x47ceab
mov edx, dword [ebp - 0x88]
push edx
push 0x41146c
call esi
mov edx, eax
lea ecx, [ebp - 0x338]
call ebx
lea eax, [ebp - 0x338]
push eax
call fcn.0047d690
test ax, ax
je 0x47ce96
mov ecx, dword [ebp - 0x88]
push ecx
push 0x41146c
jmp 0x47cea2
mov edx, dword [ebp - 0x88]
push edx
push 0x411488
call esi
mov edx, eax
lea ecx, [ebp - 0x40]
call ebx
cmp di, 4
jne 0x47cec6
mov eax, dword [ebp - 0x88]
push eax
push 0x4114b8
call esi
mov edx, eax
lea ecx, [ebp - 0x40]
call ebx
cmp di, 0x16
jne 0x47cee1
mov ecx, dword [ebp - 0x88]
push ecx
push 0x4114d4
call esi
mov edx, eax
lea ecx, [ebp - 0x40]
call ebx
cmp di, 0x378
jne 0x47cefd
mov edx, dword [ebp - 0x88]
push edx
push 0x4114f4
call esi
mov edx, eax
lea ecx, [ebp - 0x40]
call ebx
cmp di, 0x3c
jne 0x47cf18
mov eax, dword [ebp - 0x88]
push eax
push 0x40eea4
call esi
mov edx, eax
lea ecx, [ebp - 0x40]
call ebx
cmp di, 8
jne 0x47cf54
mov ecx, dword [ebp - 0x88]
push ecx
push 0x40ee8c
call esi
mov edx, eax
lea ecx, [ebp - 0x40]
call ebx
lea edx, [ebp - 0x40]
mov dword [ebp - 0x37c], edx
mov dword [ebp - 0x384], 0x4008
push 2
lea eax, [ebp - 0x384]
push eax
jmp 0x47d58d
cmp di, 0x2c
jne 0x47cf6f
mov ecx, dword [ebp - 0x88]
push ecx
push 0x41044c
call esi
mov edx, eax
lea ecx, [ebp - 0x40]
call ebx
call fcn.0040c6bc
mov dword [ebp - 0x3ac], eax
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
call esi
mov edx, dword [ebp - 0x3ac]
mov dword [ebp - 0x24], edx
push 0
push 2
call fcn.0040c710
mov dword [ebp - 0x3ac], eax
call esi
mov eax, dword [ebp - 0x3ac]
mov edi, eax
mov dword [ebp - 0x58], edi
cmp eax, 0xffffffff
je 0x47d571
mov dword [ebp - 0x2d4], 0x128
lea edx, [ebp - 0x2d4]
push edx
lea eax, [ebp - 0x4f0]
push eax
push 0x40c668
call dword [sym.imp.MSVBVM60.DLL___vbaRecUniToAnsi]
push eax
push edi
call fcn.0040c758
mov dword [ebp - 0x3ac], eax
call esi
lea ecx, [ebp - 0x4f0]
push ecx
lea edx, [ebp - 0x2d4]
push edx
push 0x40c668
call dword [sym.imp.MSVBVM60.DLL___vbaRecAnsiToUni]
mov eax, dword [ebp - 0x3ac]
test eax, eax
je 0x47d14a
lea eax, [ebp - 0x2b0]
push eax
push 0x104
call dword [sym.imp.MSVBVM60.DLL___vbaStrFixstr]
mov edx, eax
lea ecx, [ebp - 0x33c]
call ebx
lea ecx, [ebp - 0x33c]
mov dword [ebp - 0x37c], ecx
mov dword [ebp - 0x384], 0x4008
lea edx, [ebp - 0x384]
push edx
lea eax, [ebp - 0x354]
push eax
call dword [sym.imp.MSVBVM60.DLL_rtcUpperCaseVar]
mov ecx, dword [ebp - 0x33c]
push ecx
lea edx, [ebp - 0x2b0]
push edx
push 0x104
call dword [sym.imp.MSVBVM60.DLL___vbaLsetFixstr]
mov dword [ebp - 0x38c], 0x411510
mov dword [ebp - 0x394], 8
mov dword [ebp - 0x39c], 0
mov dword [ebp - 0x3a4], 0x8002
push 1
lea eax, [ebp - 0x354]
push eax
lea ecx, [ebp - 0x394]
push ecx
push 0
lea edx, [ebp - 0x364]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaInStrVar]
push eax
lea eax, [ebp - 0x3a4]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarTstNe]
mov di, ax
lea ecx, [ebp - 0x33c]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
lea ecx, [ebp - 0x364]
push ecx
lea edx, [ebp - 0x354]
push edx
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVarList]
add esp, 0xc
test di, di
je 0x47d104
lea eax, [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x2cc]
push ecx
call fcn.0040c7f0
call esi
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x24]
je 0x47d142
lea eax, [ebp - 0x2d4]
push eax
lea ecx, [ebp - 0x618]
push ecx
push 0x40c668
call dword [sym.imp.MSVBVM60.DLL___vbaRecUniToAnsi]
push eax
mov edx, dword [ebp - 0x58]
push edx
call fcn.0040c7a0
mov dword [ebp - 0x3ac], eax
call esi
lea eax, [ebp - 0x618]
push eax
lea ecx, [ebp - 0x2d4]
push ecx
jmp 0x47cff0
mov ebx, dword [ebp - 0x2cc]
jmp 0x47d14d
mov ebx, dword [ebp - 0x50]
lea edx, [ebp - 0x2c]
push edx
lea eax, [ebp - 0x24]
push eax
call fcn.0040c850
call esi
mov dword [ebp - 0x48], 0x30
push 0x44
lea ecx, [ebp - 0x31c]
push ecx
lea edx, [ebp - 0x65c]
push edx
push 0x40c62c
call dword [sym.imp.MSVBVM60.DLL___vbaRecUniToAnsi]
push eax
call fcn.0040c898
call esi
lea eax, [ebp - 0x65c]
push eax
lea ecx, [ebp - 0x31c]
push ecx
push 0x40c62c
call dword [sym.imp.MSVBVM60.DLL___vbaRecAnsiToUni]
lea edx, [ebp - 0x65c]
push edx
push 0x40c62c
call dword [sym.imp.MSVBVM60.DLL___vbaRecDestructAnsi]
mov dword [ebp - 0x31c], 0x44
mov edx, 0x411530
lea ecx, [ebp - 0x314]
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
call edi
push 0x10
lea eax, [ebp - 0x32c]
push eax
call fcn.0040c898
call esi
push ebx
push 0
push 0x2000000
call fcn.0040c8dc
mov dword [ebp - 0x3ac], eax
call esi
mov eax, dword [ebp - 0x3ac]
mov dword [ebp - 0x44], eax
lea ecx, [ebp - 0x334]
push ecx
push 0x201eb
push eax
call fcn.0040c928
mov dword [ebp - 0x3ac], eax
call esi
mov eax, dword [ebp - 0x3ac]
test eax, eax
jne 0x47d241
lea edx, [ebp - 0x40]
mov dword [ebp - 0x37c], edx
mov dword [ebp - 0x384], 0x4008
push 1
lea eax, [ebp - 0x384]
push eax
jmp 0x47d58d
lea ecx, [ebp - 0x60]
push ecx
push 0x411554
lea edx, [ebp - 0x33c]
push edx
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaStrToAnsi]
call ebx
push eax
push 0
call fcn.0040c988
mov dword [ebp - 0x3ac], eax
call esi
mov eax, dword [ebp - 0x3ac]
mov dword [ebp - 0x4c], eax
lea ecx, [ebp - 0x33c]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x47d51e
mov dword [ebp - 0x80], 1
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x7c]
push ecx
push 8
call dword [sym.imp.MSVBVM60.DLL___vbaCopyBytes]
mov dword [ebp - 0x74], 2
xor edx, edx
lea ecx, [ebp - 0x33c]
call edi
push eax
lea edx, [ebp - 0x340]
push edx
call ebx
lea eax, [ebp - 0x64]
push eax
push 1
push 1
lea ecx, [ebp - 0x340]
push ecx
push 0x2000000
mov edx, dword [ebp - 0x334]
push edx
call fcn.0040c9e4
call esi
lea eax, [ebp - 0x340]
push eax
lea ecx, [ebp - 0x33c]
push ecx
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStrList]
add esp, 0xc
mov ecx, 0xc
call dword [sym.imp.MSVBVM60.DLL___vbaI2I4]
mov dword [ebp - 0x3a8], eax
push 4
lea edx, [ebp - 0x24]
push edx
lea eax, [ebp - 0x3a8]
push eax
mov ecx, dword [ebp - 0x64]
push ecx
call fcn.0040ca30
call esi
push 0
push 0
push 0x1c
lea edx, [ebp - 0x80]
push edx
push 0
mov eax, dword [ebp - 0x64]
push eax
call fcn.0040ca80
mov dword [ebp - 0x3ac], eax
call esi
mov ecx, dword [ebp - 0x3ac]
mov dword [ebp - 0x4c], ecx
mov edi, dword [sym.imp.MSVBVM60.DLL_rtcErrObj]
call edi
push eax
lea edx, [ebp - 0x344]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaObjSet]
mov ebx, eax
mov eax, dword [ebx]
lea ecx, [ebp - 0x3ac]
push ecx
push ebx
call dword [eax + 0x4c]
fnclex
test eax, eax
jge 0x47d37f
push 0x4c
push 0x410b00
push ebx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
xor ebx, ebx
mov eax, dword [ebp - 0x3ac]
test eax, eax
setne bl
neg ebx
xor edx, edx
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
sete dl
neg edx
or ebx, edx
lea ecx, [ebp - 0x344]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeObj]
test bx, bx
jne 0x47d571
call edi
push eax
lea edx, [ebp - 0x344]
push edx
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaObjSet]
call ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x48]
lea ecx, [ebp - 0x344]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeObj]
mov dword [ebp - 0x330], 0
push 0
mov edx, dword [ebp - 0x64]
push edx
lea eax, [ebp - 0x330]
push eax
call fcn.0040cadc
mov dword [ebp - 0x3ac], eax
call esi
mov ecx, dword [ebp - 0x3ac]
mov dword [ebp - 0x4c], ecx
call edi
push eax
lea edx, [ebp - 0x344]
push edx
call ebx
mov ebx, eax
mov eax, dword [ebx]
lea ecx, [ebp - 0x3ac]
push ecx
push ebx
call dword [eax + 0x4c]
fnclex
test eax, eax
jge 0x47d432
push 0x4c
push 0x410b00
push ebx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
xor edx, edx
mov ecx, dword [ebp - 0x3ac]
test ecx, ecx
setne dl
neg edx
xor eax, eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
sete al
neg eax
or edx, eax
mov edi, edx
lea ecx, [ebp - 0x344]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeObj]
test di, di
je 0x47d471
mov dword [ebp - 0x330], 0
mov edi, dword [ebp - 0x48]
jmp 0x47d476
mov edi, 0x430
lea ecx, [ebp - 0x32c]
push ecx
lea edx, [ebp - 0x31c]
push edx
lea eax, [ebp - 0x6a0]
push eax
push 0x40c62c
call dword [sym.imp.MSVBVM60.DLL___vbaRecUniToAnsi]
push eax
push 0
mov ecx, dword [ebp - 0x330]
push ecx
push edi
push 0
push 0
push 0
push 0
mov edx, dword [ebp - 0x40]
push edx
lea eax, [ebp - 0x33c]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrToAnsi]
push eax
mov ecx, dword [ebp - 0x64]
push ecx
call fcn.0040cb2c
mov dword [ebp - 0x3ac], eax
call esi
lea edx, [ebp - 0x6a0]
push edx
lea eax, [ebp - 0x31c]
push eax
push 0x40c62c
call dword [sym.imp.MSVBVM60.DLL___vbaRecAnsiToUni]
mov ecx, dword [ebp - 0x33c]
push ecx
lea edx, [ebp - 0x40]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaStrToUnicode]
mov edi, dword [ebp - 0x3ac]
lea ecx, [ebp - 0x33c]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
lea eax, [ebp - 0x6a0]
push eax
push 0x40c62c
call dword [sym.imp.MSVBVM60.DLL___vbaRecDestructAnsi]
test edi, edi
jne 0x47d53c
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x37c], ecx
mov dword [ebp - 0x384], 0x4008
push 1
lea edx, [ebp - 0x384]
push edx
jmp 0x47d58d
mov eax, dword [ebp - 0x44]
push eax
call fcn.0040cb70
call esi
mov ecx, dword [ebp - 0x64]
push ecx
call fcn.0040cb70
call esi
mov edx, dword [ebp - 0x334]
push edx
call fcn.0040cb70
call esi
call dword [0x4010a0]
wait
push 0x47d657
jmp 0x47d5f8
lea eax, [ebp - 0x40]
mov dword [ebp - 0x37c], eax
mov dword [ebp - 0x384], 0x4008
push 1
lea ecx, [ebp - 0x384]
push ecx
call dword [sym.imp.MSVBVM60.DLL_rtcShell]
fstp st(0)
call dword [0x4010a0]
wait
push 0x47d657
jmp 0x47d5f8
lea ecx, [ebp - 0x65c]
push ecx
push 0x40c62c
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaRecDestructAnsi]
call esi
lea edx, [ebp - 0x6a0]
push edx
push 0x40c62c
call esi
lea ecx, [ebp - 0x40]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
call esi
lea ecx, [ebp - 0x88]
call esi
lea eax, [ebp - 0x2d8]
push eax
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaAryDestruct]
lea ecx, [ebp - 0x31c]
push ecx
push 0x40c62c
call dword [sym.imp.MSVBVM60.DLL___vbaRecDestruct]
lea ecx, [ebp - 0x338]
call esi
ret