Function at 0x49d920
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push 0x405996
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x78
push ebx
push esi
push edi
mov dword [ebp - 8], esp
mov dword [ebp - 4], 0x402f38
mov ecx, 6
xor eax, eax
lea edi, [ebp - 0x38]
mov edx, dword [0x562ec8]
rep stosd dword es:[edi], eax
mov eax, dword [0x562ad4]
xor esi, esi
mov dword [ebp - 0x18], esi
lea ecx, [eax + eax*4]
shl ecx, 0xa
add ecx, eax
lea ebx, [edx + ecx*8]
mov cl, byte [ebp + 8]
cmp cl, 1
mov dword [ebp - 0x3c], ebx
je 0x49dd64
cmp cl, 2
je 0x49dd64
cmp cl, 3
je 0x49dd64
mov edx, 4
cmp cl, dl
je 0x49dd64
cmp cl, 5
jne 0x49d9fc
mov ax, word [ebx + 0xa92]
cmp ax, dx
jle 0x49d9b9
lea esi, [eax - 4]
mov word [ebx + 0xa92], dx
mov ax, word [ebx + 0xa96]
cmp ax, dx
jle 0x49d9d0
lea esi, [esi + eax - 4]
mov word [ebx + 0xa96], dx
mov ax, word [ebx + 0xa94]
cmp ax, dx
jle 0x49d9e7
lea esi, [esi + eax - 4]
mov word [ebx + 0xa94], dx
mov ax, word [ebx + 0xa98]
cmp ax, dx
jle 0x49dd37
jmp 0x49dd2c
cmp cl, 6
jne 0x49da94
mov byte [ebp - 0x50], dl
mov cl, 1
mov al, byte [ebp - 0x50]
mov byte [ebp + 8], cl
cmp cl, al
ja 0x49de3b
xor ax, ax
mov al, cl
lea eax, [eax + eax*4]
movsx ecx, ax
add eax, 0xfffffffc
mov dword [ebp - 0x70], ecx
movsx edi, ax
cmp edi, dword [ebp - 0x70]
jg 0x49da71
lea edx, [edi + edi*2]
lea eax, [ebx + edx*8]
mov dl, byte [eax + 0xdf4]
test dl, dl
lea ecx, [eax + 0xdf4]
jbe 0x49da4e
mov dword [ebp - 0x18], 0xffffffff
movzx ax, byte [eax + 0xdf7]
lea edx, [ebp - 0x38]
add esi, eax
push edx
push ecx
push 0x41ec1c
call dword [sym.imp.MSVBVM60.DLL___vbaRecAssign]
mov eax, 1
add edi, eax
jmp 0x49da2c
mov eax, dword [ebp + 8]
mov cl, byte [ebp + 8]
and eax, 0xff
add word [ebx + eax*2 + 0xa88], si
lea eax, [ebx + eax*2 + 0xa88]
mov al, 1
add cl, al
jmp 0x49da0a
cmp cl, 7
jne 0x49db41
mov byte [ebp - 0x58], dl
mov cl, 1
mov al, byte [ebp - 0x58]
mov byte [ebp + 8], cl
cmp cl, al
ja 0x49de3b
xor ax, ax
mov al, cl
lea eax, [eax + eax*4]
movsx ecx, ax
add eax, 0xfffffffc
mov dword [ebp - 0x78], ecx
movsx eax, ax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x78]
jg 0x49db1e
lea edx, [eax + eax*2]
lea edi, [ebx + edx*8]
mov al, byte [edi + 0xdf4]
lea ebx, [edi + 0xdf4]
push eax
call fcn.0049d720
test ax, ax
je 0x49db0a
movzx cx, byte [edi + 0xdf7]
lea edx, [ebp - 0x38]
add esi, ecx
push edx
push ebx
push 0x41ec1c
call dword [sym.imp.MSVBVM60.DLL___vbaRecAssign]
mov dword [ebp - 0x18], 0xffffffff
mov ecx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x3c]
mov eax, 1
add ecx, eax
mov dword [ebp - 0x14], ecx
mov eax, ecx
jmp 0x49dac7
mov eax, dword [ebp + 8]
mov cl, byte [ebp + 8]
and eax, 0xff
add word [ebx + eax*2 + 0xa88], si
lea eax, [ebx + eax*2 + 0xa88]
mov al, 1
add cl, al
jmp 0x49daa2
cmp cl, 8
jne 0x49dc3e
mov byte [ebp - 0x60], dl
mov dl, 1
mov cl, byte [ebp - 0x60]
mov byte [ebp + 8], dl
cmp dl, cl
ja 0x49de3b
xor cx, cx
mov cl, dl
lea ecx, [ecx + ecx*4]
movsx edx, cx
add ecx, 0xfffffffc
mov dword [ebp - 0x80], edx
movsx ecx, cx
mov dword [ebp - 0x14], ecx
cmp ecx, dword [ebp - 0x80]
jg 0x49dc0c
imul eax, eax, 0x6ab
add eax, ecx
mov ecx, dword [0x562ec8]
lea eax, [eax + eax*2]
mov bl, byte [ecx + eax*8 + 0xdf4]
lea edi, [ecx + eax*8 + 0xdf4]
push ebx
call fcn.0049d720
test ax, ax
je 0x49dbf2
mov al, byte [edi + 3]
test al, al
jbe 0x49dbf2
xor dx, dx
mov byte [edi + 3], 0
mov dl, al
xor ax, ax
mov al, bl
add esi, edx
mov edx, dword [0x5635a8]
add eax, 0x64
movsx ecx, ax
lea eax, [ecx*4 + 0x30]
mov ecx, dword [0x5635c4]
mov dword [eax + edx], 0
mov edx, dword [0x5635e0]
mov dword [eax + ecx], 0
mov dword [eax + edx], 0
mov ecx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x3c]
mov eax, 1
add ecx, eax
mov eax, dword [0x562ad4]
mov dword [ebp - 0x14], ecx
jmp 0x49db74
test si, si
jle 0x49dc18
mov dword [ebp - 0x18], 0xffffffff
mov ecx, dword [ebp + 8]
mov dl, byte [ebp + 8]
and ecx, 0xff
add word [ebx + ecx*2 + 0xa88], si
lea ecx, [ebx + ecx*2 + 0xa88]
mov cl, 1
xor esi, esi
add dl, cl
jmp 0x49db4f
cmp cl, 0x19
je 0x49dd4c
cmp cl, 0x32
je 0x49dd4c
cmp cl, 0x4b
je 0x49dd4c
cmp cl, 0x64
je 0x49dd4c
cmp cl, 0xc9
jne 0x49dc8f
mov cl, byte [eax + 0x5633ff]
test cl, cl
jne 0x49de3b
push 0x3cf5c28f
push 0xffffffffffffffff
push 0
push 0
push 0x426148
call fcn.00475b30
jmp 0x49de3b
cmp cl, 0xca
jne 0x49dcb2
movzx dx, byte [ebx]
mov ax, word [0x562c40]
cmp dx, ax
jge 0x49de3b
push eax
call fcn.00493680
jmp 0x49de34
cmp cl, 0xcb
jne 0x49dcca
call fcn.0049d740
test ax, ax
je 0x49de3b
jmp 0x49de34
cmp cl, 0xcc
jne 0x49de3b
cmp byte [ebx], 0x15
jae 0x49de3b
mov ax, word [ebx + 0xa92]
cmp ax, dx
jle 0x49dcf2
lea esi, [eax - 4]
mov word [ebx + 0xa92], dx
mov ax, word [ebx + 0xa96]
cmp ax, dx
jle 0x49dd09
lea esi, [esi + eax - 4]
mov word [ebx + 0xa96], dx
mov ax, word [ebx + 0xa94]
cmp ax, dx
jle 0x49dd20
lea esi, [esi + eax - 4]
mov word [ebx + 0xa94], dx
mov ax, word [ebx + 0xa98]
cmp ax, dx
jle 0x49dd37
lea esi, [esi + eax - 4]
mov word [ebx + 0xa98], dx
add word [ebx + 0xa88], si
test si, si
jle 0x49de3b
jmp 0x49de34
cmp byte [ebx], cl
jae 0x49de3b
xor ax, ax
mov al, cl
push eax
call fcn.00493680
jmp 0x49de34
movzx cx, cl
lea ecx, [ecx + ecx*4]
movsx edx, cx
add ecx, 0xfffffffc
mov dword [ebp - 0x68], edx
movsx ecx, cx
mov dword [ebp - 0x14], ecx
cmp ecx, dword [ebp - 0x68]
jg 0x49de18
imul eax, eax, 0x6ab
add eax, ecx
mov ecx, dword [0x562ec8]
lea eax, [eax + eax*2]
lea edi, [ecx + eax*8 + 0xdf4]
mov al, byte [ecx + eax*8 + 0xdf4]
push eax
mov byte [ebp - 0x88], al
call fcn.0049d720
test ax, ax
jne 0x49de01
mov al, byte [edi + 3]
test al, al
jbe 0x49de01
xor dx, dx
mov byte [edi + 3], 0
mov dl, al
movzx ax, byte [ebp - 0x88]
add esi, edx
mov edx, dword [0x5635a8]
add eax, 0x64
movsx ecx, ax
lea eax, [ecx*4 + 0x30]
mov ecx, dword [0x5635c4]
mov dword [eax + edx], 0
mov edx, dword [0x5635e0]
mov dword [eax + ecx], 0
mov dword [eax + edx], 0
mov ecx, dword [ebp - 0x14]
mov eax, 1
add ecx, eax
mov eax, dword [0x562ad4]
mov dword [ebp - 0x14], ecx
jmp 0x49dd7a
mov eax, dword [ebp + 8]
and eax, 0xff
add word [ebx + eax*2 + 0xa88], si
lea ebx, [ebx + eax*2 + 0xa88]
test si, si
jle 0x49de3b
mov dword [ebp - 0x18], 0xffffffff
push 0
call fcn.00499850
wait
push 0x49de58
lea ecx, [ebp - 0x38]
push ecx
push 0x41ec1c
call dword [sym.imp.MSVBVM60.DLL___vbaRecDestruct]
ret